home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / scsh-0.4 / scsh-0 / scsh-0.4.2 / scheme48vm.c < prev    next >
C/C++ Source or Header  |  1995-10-29  |  195KB  |  6,950 lines

  1. #include <stdio.h>
  2. #include "prescheme.h"
  3. long goto_arg1K0;
  4. long goto_arg1K4;
  5. long goto_arg1K3;
  6. long goto_arg1K2;
  7. long goto_arg1K1;
  8. unsigned char goto_arg0K0;
  9. long Sminimum_recovered_spaceS;
  10. long Sinterrupt_templateS;
  11. long Spending_interruptsS;
  12. long Sdynamic_stateS;
  13. long Sinterrupt_handlersS;
  14. long Sexception_handlerS;
  15. long Senabled_interruptsS;
  16. long SvalS;
  17. long SnargsS;
  18. long Scode_pointerS;
  19. long StemplateS;
  20. long SenvS;
  21. unsigned char Sexception_space_usedPS;
  22. long ScontS;
  23. long Sbottom_of_stackS;
  24. long Sstack_limitS;
  25. long SstackS;
  26. long Sstack_endS;
  27. long Sstack_beginS;
  28. long *Sopen_vm_portsS;
  29. FILE * *Sopen_portsS;
  30. long Snumber_of_portsS;
  31. long Sweak_pointer_limitS;
  32. long Sweak_pointer_hpS;
  33. long Ssaved_limitS;
  34. long Ssaved_hpS;
  35. long Sgc_countS;
  36. unsigned char Simpure_area_countS;
  37. unsigned char Spure_area_countS;
  38. long *Simpure_sizesS;
  39. long *Spure_sizesS;
  40. long *Simpure_areasS;
  41. long *Spure_areasS;
  42. long Soldspace_endS;
  43. long Soldspace_beginS;
  44. long Snewspace_endS;
  45. long Snewspace_beginS;
  46. long SlimitS;
  47. long ShpS;
  48. FILE * Scurrent_output_portS;
  49. FILE * Scurrent_input_portS;
  50.  
  51. unsigned char hoistD0(long start_0X, long end_1X, long type_2X)
  52. {
  53.   extern FILE * Scurrent_output_portS;
  54.   extern long SlimitS;
  55.   extern long ShpS;
  56.   long arg1K0;
  57.   long addr_3X;
  58.   long d_4X;
  59.  
  60.  {arg1K0 = start_0X;
  61.   goto L10156;}
  62.  L10156: {
  63.   addr_3X = arg1K0;
  64.   if ((addr_3X < end_1X)) {
  65.     d_4X = *((long *) addr_3X);
  66.     if ((2 == (3 & d_4X))) {
  67.       if ((type_2X == (31 & (((d_4X)>>2))))) {
  68.         if (((16 + (ShpS)) < (SlimitS))) {
  69.           *((long *) (ShpS)) = (7 + addr_3X);
  70.           ShpS = (4 + (ShpS));
  71.           arg1K0 = (4 + (addr_3X + (-4 & (3 + ((long)(((unsigned long)d_4X)>>8))))));
  72.           goto L10156;}
  73.         else {
  74.           return(0);}}
  75.       else {
  76.         arg1K0 = (4 + (addr_3X + (-4 & (3 + ((long)(((unsigned long)d_4X)>>8))))));
  77.         goto L10156;}}
  78.     else {
  79.       fputs("heap is in an inconsistent state.", (Scurrent_output_portS));
  80.       return(0);}}
  81.   else {
  82.     return(1);}}}
  83.  
  84. unsigned char hoistD1(long start_5X, long end_6X, long x_7X)
  85. {
  86.   extern FILE * Scurrent_output_portS;
  87.   extern long SlimitS;
  88.   extern long ShpS;
  89.   long arg1K1;
  90.   long arg1K0;
  91.   long i_8X;
  92.   long h_9X;
  93.   long bucket_10X;
  94.   long index_11X;
  95.   long b_12X;
  96.   long new_13X;
  97.   long addr_14X;
  98.   long d_15X;
  99.   long obj_16X;
  100.   long v_17X;
  101.   long s_18X;
  102.   long n_19X;
  103.  
  104.  {arg1K0 = start_5X;
  105.   goto L17328;}
  106.  L13673: {
  107.   i_8X = arg1K0;
  108.   h_9X = arg1K1;
  109.   if ((i_8X < n_19X)) {
  110.     arg1K0 = (1 + i_8X);
  111.     arg1K1 = (h_9X + ((long)((((long)(*((unsigned char *) ((-3 + s_18X) + i_8X))))))));
  112.     goto L13673;}
  113.   else {
  114.     index_11X = h_9X & (-1 + v_17X);
  115.     bucket_10X = *((long *) ((-3 + x_7X) + (((index_11X)<<2))));
  116.     arg1K0 = bucket_10X;
  117.     goto L13571;}}
  118.  L13571: {
  119.   b_12X = arg1K0;
  120.   if ((25 == b_12X)) {
  121.     *((long *) (ShpS)) = 2050;
  122.     ShpS = (4 + (ShpS));
  123.     new_13X = 3 + (ShpS);
  124.     ShpS = (8 + (ShpS));
  125.     *((long *) (-4 + (ShpS))) = 0;
  126.     *((long *) (-3 + new_13X)) = obj_16X;
  127.     *((long *) (1 + new_13X)) = bucket_10X;
  128.     *((long *) ((-3 + x_7X) + (((index_11X)<<2)))) = new_13X;
  129.     arg1K0 = (4 + (addr_14X + (-4 & (3 + ((long)(((unsigned long)d_15X)>>8))))));
  130.     goto L17328;}
  131.   else {
  132.     if ((obj_16X == (*((long *) (-3 + b_12X))))) {
  133.       arg1K0 = (4 + (addr_14X + (-4 & (3 + ((long)(((unsigned long)d_15X)>>8))))));
  134.       goto L17328;}
  135.     else {
  136.       arg1K0 = (*((long *) (1 + b_12X)));
  137.       goto L13571;}}}
  138.  L17328: {
  139.   addr_14X = arg1K0;
  140.   if ((addr_14X < end_6X)) {
  141.     d_15X = *((long *) addr_14X);
  142.     if ((2 == (3 & d_15X))) {
  143.       if ((1 == (31 & (((d_15X)>>2))))) {
  144.         if (((12 + (ShpS)) < (SlimitS))) {
  145.           obj_16X = 7 + addr_14X;
  146.           v_17X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + x_7X))))>>8))))>>2);
  147.           s_18X = *((long *) (-3 + obj_16X));
  148.           n_19X = -1 + ((long)(((unsigned long)(*((long *) (-7 + s_18X))))>>8));
  149.           arg1K0 = 0;
  150.           arg1K1 = 0;
  151.           goto L13673;}
  152.         else {
  153.           return(0);}}
  154.       else {
  155.         arg1K0 = (4 + (addr_14X + (-4 & (3 + ((long)(((unsigned long)d_15X)>>8))))));
  156.         goto L17328;}}
  157.     else {
  158.       fputs("heap is in an inconsistent state.", (Scurrent_output_portS));
  159.       return(0);}}
  160.   else {
  161.     return(1);}}}
  162.  
  163. long Tinterpret()
  164. {
  165.   extern void really_write_number(long, FILE *);
  166.   extern FILE * Scurrent_output_portS;
  167.   extern long copy_weak_pointer(long);
  168.   extern long Sinterrupt_templateS;
  169.   extern unsigned char Sexception_space_usedPS;
  170.   extern long extended_vm(long, long);
  171.   extern long ps_real_time();
  172.   extern long ps_run_time();
  173.   extern long ps_ticks_per_second();
  174.   extern unsigned char lookup_external_name(long, long);
  175.   extern long ps_schedule_interrupt(long);
  176.   extern long Sinterrupt_handlersS;
  177.   extern long Sexception_handlerS;
  178.   extern long Sdynamic_stateS;
  179.   extern long *Simpure_sizesS;
  180.   extern long *Simpure_areasS;
  181.   extern unsigned char hoistD0(long, long, long);
  182.   extern long *Spure_sizesS;
  183.   extern long *Spure_areasS;
  184.   extern unsigned char hoistD1(long, long, long);
  185.   extern long Sgc_countS;
  186.   extern long Sminimum_recovered_spaceS;
  187.   extern unsigned char Spure_area_countS;
  188.   extern unsigned char Simpure_area_countS;
  189.   extern long Sweak_pointer_hpS;
  190.   extern void do_gc();
  191.   extern long Snewspace_endS;
  192.   extern long Ssaved_limitS;
  193.   extern long Ssaved_hpS;
  194.   extern long Snewspace_beginS;
  195.   extern long Soldspace_beginS;
  196.   extern long Soldspace_endS;
  197.   extern FILE * *Sopen_portsS;
  198.   extern long Snumber_of_portsS;
  199.   extern long *Sopen_vm_portsS;
  200.   extern long Senabled_interruptsS;
  201.   extern long Spending_interruptsS;
  202.   extern long Sbottom_of_stackS;
  203.   extern long ScontS;
  204.   extern long Sstack_beginS;
  205.   extern long StemplateS;
  206.   extern long SenvS;
  207.   extern long Sstack_limitS;
  208.   extern long SstackS;
  209.   extern long Sstack_endS;
  210.   extern long SlimitS;
  211.   extern long ShpS;
  212.   extern long SvalS;
  213.   extern long Scode_pointerS;
  214.   extern long SnargsS;
  215.   extern long Tinterpret();
  216.   unsigned char arg3K3;
  217.   unsigned char arg3K0;
  218.   FILE * arg2K0;
  219.   unsigned char arg0K0;
  220.   long arg1K2;
  221.   long arg1K1;
  222.   long arg1K0;
  223.   unsigned char merged_arg0K0;
  224.   unsigned char merged_arg0K1;
  225.   unsigned char merged_arg0K3;
  226.   FILE * merged_arg2K1;
  227.   long merged_arg1K4;
  228.   long merged_arg1K3;
  229.   long merged_arg1K2;
  230.   long merged_arg1K1;
  231.   long merged_arg1K0;
  232.   long RSenvS = SenvS;
  233.   long RSstackS = SstackS;
  234.   long RSvalS = SvalS;
  235.   long RScode_pointerS = Scode_pointerS;
  236.  
  237.   int extract_string_return_tag;
  238.   unsigned char *extract_string_return_value;
  239.   int stob_equalP_return_tag;
  240.   unsigned char stob_equalP_return_value;
  241.   int write_number_return_tag;
  242.   int close_port_return_tag;
  243.   int close_untraced_portsB_return_tag;
  244.   unsigned char close_untraced_portsB_return_value;
  245.   int copy_object_return_tag;
  246.   long copy_object_return_value;
  247.   int copy_next_return_tag;
  248.   long copy_next_return_value;
  249.   int collect_saving_temp_return_tag;
  250.   long collect_saving_temp_return_value;
  251.   int pop_args_list_return_tag;
  252.   long pop_args_list_return_value;
  253.   int push_continuationB_return_tag;
  254.   int push_exception_continuationB_return_tag;
  255.   int copy_stob_return_tag;
  256.   long copy_stob_return_value;
  257.   int save_env_in_heap_return_tag;
  258.   long save_env_in_heap_return_value;
  259.   int copy_continuation_from_heap_return_tag;
  260.   long copy_continuation_from_heap_return_value;
  261.   int preserve_continuation_return_tag;
  262.   long preserve_continuation_return_value;
  263.   int copy_stack_into_heap_return_tag;
  264.   unsigned char b_20X;
  265.   unsigned char b_21X;
  266.   long space_22X;
  267.   long v_23X;
  268.   unsigned char b_24X;
  269.   long env_25X;
  270.   unsigned char b_26X;
  271.   long location_27X;
  272.   unsigned char b_28X;
  273.   long location_29X;
  274.   unsigned char b_30X;
  275.   unsigned char b_31X;
  276.   long space_32X;
  277.   long v_33X;
  278.   long cont_34X;
  279.   long list_35X;
  280.   long proc_36X;
  281.   long v_37X;
  282.   long cont_38X;
  283.   long pc_39X;
  284.   long tem_40X;
  285.   long cont_41X;
  286.   long tem_42X;
  287.   unsigned char b_43X;
  288.   long tem_44X;
  289.   unsigned char b_45X;
  290.   unsigned char b_46X;
  291.   unsigned char b_47X;
  292.   unsigned char b_48X;
  293.   unsigned char b_49X;
  294.   long val_50X;
  295.   long z_51X;
  296.   long x_52X;
  297.   long arg2_53X;
  298.   long arg2_54X;
  299.   long arg2_55X;
  300.   long x_56X;
  301.   long arg2_57X;
  302.   long arg2_58X;
  303.   long arg2_59X;
  304.   long x_60X;
  305.   long arg2_61X;
  306.   long arg2_62X;
  307.   long arg2_63X;
  308.   long arg2_64X;
  309.   long arg2_65X;
  310.   long arg2_66X;
  311.   long x_67X;
  312.   long result_68X;
  313.   long x_69X;
  314.   long value_70X;
  315.   long count_71X;
  316.   long x_72X;
  317.   long x_73X;
  318.   unsigned char b_74X;
  319.   long x_75X;
  320.   long space_76X;
  321.   unsigned char b_77X;
  322.   unsigned char b_78X;
  323.   long x_79X;
  324.   long arg2_80X;
  325.   long temp_81X;
  326.   long size_82X;
  327.   unsigned char b_83X;
  328.   long len_84X;
  329.   long x_85X;
  330.   long len_86X;
  331.   unsigned char b_87X;
  332.   long index_88X;
  333.   long len_89X;
  334.   unsigned char b_90X;
  335.   long index_91X;
  336.   long x_92X;
  337.   long size_93X;
  338.   long len_94X;
  339.   long init_95X;
  340.   long obj_96X;
  341.   long arg2_97X;
  342.   long arg3_98X;
  343.   long arg2_99X;
  344.   long obj_100X;
  345.   long arg2_101X;
  346.   long descriptor_102X;
  347.   long x_103X;
  348.   long obj_104X;
  349.   long x_105X;
  350.   long p_106X;
  351.   unsigned char Kchar_107X;
  352.   long c_108X;
  353.   long x_109X;
  354.   unsigned char b_110X;
  355.   long p_111X;
  356.   long arg2_112X;
  357.   long p_113X;
  358.   long a_114X;
  359.   long old_115X;
  360.   long arg2_116X;
  361.   unsigned char v_117X;
  362.   long start_hp_118X;
  363.   long x_119X;
  364.   long obj_120X;
  365.   unsigned char v_121X;
  366.   long start_hp_122X;
  367.   long type_123X;
  368.   long obj_124X;
  369.   long obj_125X;
  370.   long tem_126X;
  371.   unsigned char v_127X;
  372.   long name_128X;
  373.   long value_129X;
  374.   long x_130X;
  375.   long obj_131X;
  376.   long n_132X;
  377.   long n_133X;
  378.   long arg2_134X;
  379.   long return_value_135X;
  380.   long key_136X;
  381.   long x_137X;
  382.   long n_138X;
  383.   long x_139X;
  384.   long obj_140X;
  385.   unsigned char b_141X;
  386.   long space_142X;
  387.   long arg2_143X;
  388.   long obj_144X;
  389.   unsigned char x_145X;
  390.   long arg2_146X;
  391.   long arg2_147X;
  392.   long x_148X;
  393.   long key_149X;
  394.   long n_150X;
  395.   long proc_151X;
  396.   long p_152X;
  397.   long n_153X;
  398.   long temp_154X;
  399.   long *areas_155X;
  400.   long *sizes_156X;
  401.   unsigned char count_157X;
  402.   long *areas_158X;
  403.   long *sizes_159X;
  404.   unsigned char count_160X;
  405.   long x_161X;
  406.   long key_162X;
  407.   long arg2_163X;
  408.   long arg3_164X;
  409.   long obj_165X;
  410.   long x_166X;
  411.   unsigned char *spec_167X;
  412.   FILE * port_168X;
  413.   long b_169X;
  414.   long e_170X;
  415.   long v_171X;
  416.   long arg2_172X;
  417.   long p_173X;
  418.   long p_174X;
  419.   long x_175X;
  420.   long x_176X;
  421.   long p_177X;
  422.   FILE * v_178X;
  423.   long x_179X;
  424.   long c_180X;
  425.   unsigned char Kchar_181X;
  426.   long x_182X;
  427.   long x_183X;
  428.   long obj_184X;
  429.   long x_185X;
  430.   long arg2_186X;
  431.   long x_187X;
  432.   long arg2_188X;
  433.   long arg3_189X;
  434.   unsigned char Kchar_190X;
  435.   long index_191X;
  436.   long len_192X;
  437.   long index_193X;
  438.   long len_194X;
  439.   long arg2_195X;
  440.   unsigned char init_196X;
  441.   long len_197X;
  442.   long size_198X;
  443.   long value_199X;
  444.   long index_200X;
  445.   long len_201X;
  446.   long index_202X;
  447.   long len_203X;
  448.   long arg2_204X;
  449.   long arg2_205X;
  450.   long arg3_206X;
  451.   long arg2_207X;
  452.   long arg2_208X;
  453.   long x_209X;
  454.   unsigned char b_210X;
  455.   unsigned char b_211X;
  456.   long x_212X;
  457.   unsigned char b_213X;
  458.   long x_214X;
  459.   long arg2_215X;
  460.   long x_216X;
  461.   long arg2_217X;
  462.   long x_218X;
  463.   long x_219X;
  464.   long arg2_220X;
  465.   long x_221X;
  466.   long x_222X;
  467.   long x_223X;
  468.   long a_224X;
  469.   long b_225X;
  470.   long x_226X;
  471.   long a_227X;
  472.   long b_228X;
  473.   long x_229X;
  474.   long arg2_230X;
  475.   long x_231X;
  476.   long a_232X;
  477.   long b_233X;
  478.   long x_234X;
  479.   long z_235X;
  480.   long x_236X;
  481.   long a_237X;
  482.   long b_238X;
  483.   long arg2_239X;
  484.   long x_240X;
  485.   long x_241X;
  486.   long x_242X;
  487.   long x_243X;
  488.   long x_244X;
  489.   long arg2_245X;
  490.   long x_246X;
  491.   unsigned char b_247X;
  492.   unsigned char b_248X;
  493.   unsigned char b_249X;
  494.   unsigned char b_250X;
  495.   long consumer_251X;
  496.   long start_arg_252X;
  497.   long start_loc_253X;
  498.   unsigned char b_254X;
  499.   unsigned char b_255X;
  500.   unsigned char b_256X;
  501.   long space_257X;
  502.   unsigned char b_258X;
  503.   long p_259X;
  504.   long env_260X;
  505.   unsigned char b_261X;
  506.   long env_262X;
  507.   unsigned char b_263X;
  508.   long env_264X;
  509.   unsigned char b_265X;
  510.   unsigned char b_266X;
  511.   long env_267X;
  512.   unsigned char b_268X;
  513.   long v_269X;
  514.   unsigned char count_270X;
  515.   long space_271X;
  516.   long vector_272X;
  517.   long i_273X;
  518.   unsigned char v_274X;
  519.   long *areas_275X;
  520.   long *sizes_276X;
  521.   unsigned char count_277X;
  522.   long i_278X;
  523.   unsigned char v_279X;
  524.   long h_280X;
  525.   long addr_281X;
  526.   long h_282X;
  527.   long d_283X;
  528.   long sym_284X;
  529.   long v_285X;
  530.   long val_286X;
  531.   long i_287X;
  532.   long h_288X;
  533.   long bucket_289X;
  534.   long index_290X;
  535.   long new_291X;
  536.   long new_292X;
  537.   long b_293X;
  538.   unsigned char v_294X;
  539.   long new_295X;
  540.   long stob_296X;
  541.   long from_297X;
  542.   long from_298X;
  543.   long to_299X;
  544.   long arg2_300X;
  545.   long obj_301X;
  546.   long table_302X;
  547.   long v_303X;
  548.   long n_304X;
  549.   long arg2_305X;
  550.   long n_306X;
  551.   long new_307X;
  552.   long len_308X;
  553.   long obj_309X;
  554.   long l_310X;
  555.   long i_311X;
  556.   long i_312X;
  557.   long h_313X;
  558.   unsigned char v_314X;
  559.   long i_315X;
  560.   unsigned char v_316X;
  561.   long resume_proc_317X;
  562.   long size_318X;
  563.   long b_319X;
  564.   long e_320X;
  565.   unsigned char v_321X;
  566.   long val_322X;
  567.   long c_323X;
  568.   long val_324X;
  569.   long key_325X;
  570.   long arg2_326X;
  571.   long mode_327X;
  572.   long i_328X;
  573.   long i_329X;
  574.   long i_330X;
  575.   long i_331X;
  576.   long index_332X;
  577.   long new_count_333X;
  578.   long old_count_334X;
  579.   FILE * *new_ports_335X;
  580.   long *new_vm_ports_336X;
  581.   FILE * port_337X;
  582.   long new_338X;
  583.   long index_339X;
  584.   long filename_340X;
  585.   unsigned char *spec_341X;
  586.   unsigned char *spec_342X;
  587.   long filename_343X;
  588.   unsigned char v_344X;
  589.   long new_345X;
  590.   long len_346X;
  591.   long string_347X;
  592.   long i_348X;
  593.   long new_349X;
  594.   long code_vector_350X;
  595.   long i_351X;
  596.   long val_352X;
  597.   long i_353X;
  598.   unsigned char okayP_354X;
  599.   long init_355X;
  600.   long new_356X;
  601.   long len_357X;
  602.   long new_358X;
  603.   long len_359X;
  604.   unsigned char b_360X;
  605.   unsigned char b_361X;
  606.   long new_362X;
  607.   long i_363X;
  608.   long n_364X;
  609.   long b_365X;
  610.   long c_366X;
  611.   long a_367X;
  612.   long b_368X;
  613.   long c_369X;
  614.   long a_370X;
  615.   long n_371X;
  616.   long b_372X;
  617.   long c_373X;
  618.   long a_374X;
  619.   long q_375X;
  620.   long a_376X;
  621.   long b_377X;
  622.   long b_378X;
  623.   long c_379X;
  624.   long a_380X;
  625.   long b_381X;
  626.   long lo_a_382X;
  627.   long lo_b_383X;
  628.   long hi_a_384X;
  629.   long hi_b_385X;
  630.   long lo_c_386X;
  631.   long mid_c_387X;
  632.   long c_388X;
  633.   long a_389X;
  634.   long offset_390X;
  635.   long list_391X;
  636.   long a_392X;
  637.   long new_393X;
  638.   long l_394X;
  639.   long last_395X;
  640.   long new_396X;
  641.   long a_397X;
  642.   long i_398X;
  643.   long l_399X;
  644.   long space_400X;
  645.   long overflow_401X;
  646.   long args_402X;
  647.   long fast_403X;
  648.   long len_404X;
  649.   long slow_405X;
  650.   unsigned char move_slowP_406X;
  651.   long nargs_407X;
  652.   long args_408X;
  653.   long args_409X;
  654.   long loc_410X;
  655.   long arg_411X;
  656.   long v_412X;
  657.   long key_413X;
  658.   long v_414X;
  659.   long space_415X;
  660.   long key_416X;
  661.   long p_417X;
  662.   long v_418X;
  663.   long env_419X;
  664.   unsigned char b_420X;
  665.   long a_421X;
  666.   long new_422X;
  667.   long env_423X;
  668.   long i_424X;
  669.   unsigned char b_425X;
  670.   long env_426X;
  671.   long i_427X;
  672.   unsigned char b_428X;
  673.   long args_429X;
  674.   long new_430X;
  675.   long len_431X;
  676.   unsigned char b_432X;
  677.   unsigned char b_433X;
  678.   long v_434X;
  679.   unsigned char v_435X;
  680.   unsigned char v_436X;
  681.   unsigned char v_437X;
  682.   unsigned char v_438X;
  683.   unsigned char v_439X;
  684.   unsigned char v_440X;
  685.   unsigned char v_441X;
  686.   unsigned char v_442X;
  687.   long r_443X;
  688.   unsigned char v_444X;
  689.   unsigned char v_445X;
  690.   unsigned char v_446X;
  691.   unsigned char v_447X;
  692.   long v_448X;
  693.   long key_449X;
  694.   long v_450X;
  695.   long cont_451X;
  696.   long tem_452X;
  697.   long pc_453X;
  698.   long args_454X;
  699.   long v_455X;
  700.   long v_456X;
  701.   long cont_457X;
  702.   long v_458X;
  703.   unsigned char next_op_459X;
  704.   long v_460X;
  705.   long next_461X;
  706.   long cont_462X;
  707.   long tem_463X;
  708.   long pc_464X;
  709.   long args_465X;
  710.   long v_466X;
  711.   long v_467X;
  712.   long args_468X;
  713.   long a1_469X;
  714.   long obj_470X;
  715.   long space_471X;
  716.   long v_472X;
  717.   unsigned char x_473X;
  718.   long tem_474X;
  719.   long obj_475X;
  720.   long space_476X;
  721.   long obj_477X;
  722.   long i_478X;
  723.   long m_479X;
  724.   long obj_480X;
  725.   long tem_481X;
  726.   long v_482X;
  727.   long key_483X;
  728.   long n_484X;
  729.   long i_485X;
  730.   long i_486X;
  731.   long vec_487X;
  732.   long p_488X;
  733.   long i_489X;
  734.   long new_490X;
  735.   long len_491X;
  736.   long p_492X;
  737.   long v_493X;
  738.   long cont_494X;
  739.   long previous_495X;
  740.   long v_496X;
  741.   long cont_497X;
  742.   long p_498X;
  743.   long new_499X;
  744.   long v_500X;
  745.   long end_501X;
  746.   long top_502X;
  747.   long new_cont_503X;
  748.   long v_504X;
  749.   long from_505X;
  750.   long from_506X;
  751.   long to_507X;
  752.   long new_508X;
  753.   long env_509X;
  754.   long p_510X;
  755.   long env_511X;
  756.   long new_512X;
  757.   long cont_513X;
  758.   long env_514X;
  759.   long new_515X;
  760.   long len_516X;
  761.   long from_517X;
  762.   long to_518X;
  763.   long new_519X;
  764.   long bytes_520X;
  765.   long from_521X;
  766.   long p_522X;
  767.   long i_523X;
  768.   long key_524X;
  769.   long pc_525X;
  770.   long template_526X;
  771.   long cont_527X;
  772.   long space_528X;
  773.   long args_529X;
  774.   long count_530X;
  775.   long a_531X;
  776.   long new_532X;
  777.   long v_533X;
  778.   long value_534X;
  779.   long pc_535X;
  780.   long e_536X;
  781.   long b_537X;
  782.   long a_538X;
  783.   long value_539X;
  784.   long i_540X;
  785.   long a_541X;
  786.   long v_542X;
  787.   long start_543X;
  788.   long end_544X;
  789.   long addr_545X;
  790.   long v_546X;
  791.   long cont_547X;
  792.   long last_env_548X;
  793.   long env_549X;
  794.   long end_550X;
  795.   long *areas_551X;
  796.   long *sizes_552X;
  797.   unsigned char count_553X;
  798.   long env_554X;
  799.   long end_555X;
  800.   long addr_556X;
  801.   long v_557X;
  802.   long addr_558X;
  803.   long v_559X;
  804.   long addr_560X;
  805.   long v_561X;
  806.   long env_562X;
  807.   long start_563X;
  808.   long end_564X;
  809.   long v_565X;
  810.   long v_566X;
  811.   long value_567X;
  812.   long a_568X;
  813.   long v_569X;
  814.   long v_570X;
  815.   long value_571X;
  816.   long a_572X;
  817.   long v_573X;
  818.   long v_574X;
  819.   long value_575X;
  820.   long a_576X;
  821.   long v_577X;
  822.   long v_578X;
  823.   long value_579X;
  824.   long a_580X;
  825.   long v_581X;
  826.   long v_582X;
  827.   long value_583X;
  828.   long a_584X;
  829.   long tem_585X;
  830.   long v_586X;
  831.   long value_587X;
  832.   long a_588X;
  833.   long next_589X;
  834.   long thing_590X;
  835.   long value_591X;
  836.   long a_592X;
  837.   long a_593X;
  838.   long h_594X;
  839.   long descriptor_595X;
  840.   long v_596X;
  841.   long o_597X;
  842.   long new_598X;
  843.   long x1_599X;
  844.   long i_600X;
  845.   long port_601X;
  846.   long header_602X;
  847.   long header_603X;
  848.   long new_604X;
  849.   long string_605X;
  850.   FILE * port_606X;
  851.   long mode_607X;
  852.   long index_608X;
  853.  
  854.   long v_609X;
  855.   long z1_610X;
  856.   long z2_611X;
  857.   long i_612X;
  858.   long z_613X;
  859.   unsigned char *v_614X;
  860.   long i_615X;
  861.   unsigned char *c_616X;
  862.   long string_617X;
  863.   unsigned char c_618X;
  864.   long stob1_619X;
  865.   long stob2_620X;
  866.   long x_621X;
  867.   FILE * port_622X;
  868.   long vm_port_623X;
  869.   unsigned char c_624X;
  870.   long c_625X;
  871.   long thing_626X;
  872.   long c_627X;
  873.   long addr_628X;
  874.   long c_629X;
  875.   long value_630X;
  876.   long c_631X;
  877.   long start_632X;
  878.   long count_633X;
  879.   long code_pointer_634X;
  880.   long size_635X;
  881.   long c_636X;
  882.   long old_stob_637X;
  883.   long c_638X;
  884.   long env_639X;
  885.   long cont_640X;
  886.   long key_641X;
  887.   long c_642X;
  888.   long cont_643X;
  889.   long c_644X;
  890.   long key_645X;
  891.   unsigned char reason_646X;
  892.   long key_647X;
  893.   unsigned char c_648X;
  894.   unsigned char c_649X;
  895.   unsigned char bytes_consumed_650X;
  896.   unsigned char c_651X;
  897.   unsigned char nargs_652X;
  898.   unsigned char c_653X;
  899.   unsigned char byte_args_654X;
  900.   unsigned char c_655X;
  901.   unsigned char args_656X;
  902.   long a1_657X;
  903.   long a2_658X;
  904.   long a3_659X;
  905.   long a4_660X;
  906.   unsigned char c_661X;
  907.   unsigned char args_662X;
  908.   long a1_663X;
  909.   long a2_664X;
  910.   long a3_665X;
  911.   unsigned char c_666X;
  912.   unsigned char args_667X;
  913.   long a1_668X;
  914.   long a2_669X;
  915.   unsigned char c_670X;
  916.   unsigned char args_671X;
  917.   long a1_672X;
  918.   unsigned char c_673X;
  919.   long nargs_674X;
  920.   unsigned char c_675X;
  921.   unsigned char args_676X;
  922.  START: {
  923.   b_141X = *((unsigned char *) (RScode_pointerS));
  924.   RScode_pointerS = (1 + (RScode_pointerS));
  925.   switch (b_141X) {
  926.     case 0 : {
  927.       b_20X = *((unsigned char *) (RScode_pointerS));
  928.       RScode_pointerS = (1 + (RScode_pointerS));
  929.       if (((SnargsS) == ((long)b_20X))) {
  930.         goto START;}
  931.       else {
  932.         merged_arg0K0 = 1;
  933.         goto application_exception;}}
  934.       break;
  935.     case 1 : {
  936.       b_21X = *((unsigned char *) (RScode_pointerS));
  937.       RScode_pointerS = (1 + (RScode_pointerS));
  938.       if (((SnargsS) < ((long)b_21X))) {
  939.         merged_arg0K0 = 1;
  940.         goto application_exception;}
  941.       else {
  942.         goto START;}}
  943.       break;
  944.     case 2 : {
  945.       RSvalS = ((((SnargsS))<<2));
  946.       goto START;}
  947.       break;
  948.     case 3 : {
  949.       count_270X = *((unsigned char *) (RScode_pointerS));
  950.       if (((Sstack_limitS) < (-8 + ((RSstackS) - (((((long)count_270X))<<2)))))) {
  951.         goto L27800;}
  952.       else {
  953.         space_271X = 1 + (((((Sstack_endS) - (RSstackS)))>>2));
  954.         if ((((ShpS) + (((space_271X)<<2))) < (SlimitS))) {
  955.           arg1K0 = 0;
  956.           goto L27833;}
  957.         else {
  958.           merged_arg1K0 = 0;
  959.           collect_saving_temp_return_tag = 0;
  960.           goto collect_saving_temp;
  961.          collect_saving_temp_return_0:
  962.           if ((((ShpS) + (((space_271X)<<2))) < (SlimitS))) {
  963.             arg1K0 = 0;
  964.             goto L27833;}
  965.           else {
  966.             TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  967.             arg1K0 = 0;
  968.             goto L27833;}}}}
  969.       break;
  970.     case 4 : {
  971.       space_22X = 2 + ((long)(*((unsigned char *) (RScode_pointerS))));
  972.       if ((((ShpS) + (((space_22X)<<2))) < (SlimitS))) {
  973.         goto L27866;}
  974.       else {
  975.         merged_arg1K0 = 0;
  976.         collect_saving_temp_return_tag = 1;
  977.         goto collect_saving_temp;
  978.        collect_saving_temp_return_1:
  979.         if ((((ShpS) + (((space_22X)<<2))) < (SlimitS))) {
  980.           goto L27866;}
  981.         else {
  982.           TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  983.           goto L27866;}}}
  984.       break;
  985.     case 5 : {
  986.       RSenvS = (*((long *) (-3 + (RSenvS))));
  987.       goto START;}
  988.       break;
  989.     case 6 : {
  990.       b_268X = *((unsigned char *) (RScode_pointerS));
  991.       RScode_pointerS = (1 + (RScode_pointerS));
  992.       if ((64 == (SnargsS))) {
  993.         RSstackS = (4 + (RSstackS));
  994.         merged_arg1K0 = (*((long *) (RSstackS)));
  995.         merged_arg1K1 = ((-1 + (SnargsS)) - ((long)b_268X));
  996.         pop_args_list_return_tag = 0;
  997.         goto pop_args_list;
  998.        pop_args_list_return_0:
  999.         v_23X = pop_args_list_return_value;
  1000.         arg1K0 = v_23X;
  1001.         goto L27934;}
  1002.       else {
  1003.         merged_arg1K0 = 25;
  1004.         merged_arg1K1 = ((SnargsS) - ((long)b_268X));
  1005.         pop_args_list_return_tag = 1;
  1006.         goto pop_args_list;
  1007.        pop_args_list_return_1:
  1008.         v_269X = pop_args_list_return_value;
  1009.         arg1K0 = v_269X;
  1010.         goto L27934;}}
  1011.       break;
  1012.     case 7 : {
  1013.       b_24X = *((unsigned char *) (RScode_pointerS));
  1014.       RScode_pointerS = (1 + (RScode_pointerS));
  1015.       RSvalS = (*((long *) ((-3 + (StemplateS)) + (((((long)b_24X))<<2)))));
  1016.       goto START;}
  1017.       break;
  1018.     case 8 : {
  1019.       b_266X = *((unsigned char *) (RScode_pointerS));
  1020.       RScode_pointerS = (1 + (RScode_pointerS));
  1021.       env_267X = RSenvS;
  1022.       arg1K0 = env_267X;
  1023.       arg1K1 = ((long)b_266X);
  1024.       goto L27698;}
  1025.       break;
  1026.     case 9 : {
  1027.       env_264X = RSenvS;
  1028.       b_265X = *((unsigned char *) (RScode_pointerS));
  1029.       RScode_pointerS = (1 + (RScode_pointerS));
  1030.       RSvalS = (*((long *) ((-3 + env_264X) + (((((long)b_265X))<<2)))));
  1031.       if ((529 == (RSvalS))) {
  1032.         merged_arg0K0 = 1;
  1033.         goto raise_exception;}
  1034.       else {
  1035.         goto START;}}
  1036.       break;
  1037.     case 10 : {
  1038.       env_262X = *((long *) (-3 + (RSenvS)));
  1039.       b_263X = *((unsigned char *) (RScode_pointerS));
  1040.       RScode_pointerS = (1 + (RScode_pointerS));
  1041.       RSvalS = (*((long *) ((-3 + env_262X) + (((((long)b_263X))<<2)))));
  1042.       if ((529 == (RSvalS))) {
  1043.         merged_arg0K0 = 1;
  1044.         goto raise_exception;}
  1045.       else {
  1046.         goto START;}}
  1047.       break;
  1048.     case 11 : {
  1049.       env_260X = *((long *) (-3 + (*((long *) (-3 + (RSenvS))))));
  1050.       b_261X = *((unsigned char *) (RScode_pointerS));
  1051.       RScode_pointerS = (1 + (RScode_pointerS));
  1052.       RSvalS = (*((long *) ((-3 + env_260X) + (((((long)b_261X))<<2)))));
  1053.       if ((529 == (RSvalS))) {
  1054.         merged_arg0K0 = 1;
  1055.         goto raise_exception;}
  1056.       else {
  1057.         goto START;}}
  1058.       break;
  1059.     case 12 : {
  1060.       b_26X = *((unsigned char *) (RScode_pointerS));
  1061.       RScode_pointerS = (1 + (RScode_pointerS));
  1062.       env_25X = RSenvS;
  1063.       arg1K0 = env_25X;
  1064.       arg1K1 = ((long)b_26X);
  1065.       goto L28006;}
  1066.       break;
  1067.     case 13 : {
  1068.       b_28X = *((unsigned char *) (RScode_pointerS));
  1069.       RScode_pointerS = (1 + (RScode_pointerS));
  1070.       location_27X = *((long *) ((-3 + (StemplateS)) + (((((long)b_28X))<<2))));
  1071.       RSvalS = (*((long *) (-3 + location_27X)));
  1072.       if ((17 == (255 & (RSvalS)))) {
  1073.         merged_arg0K0 = 1;
  1074.         merged_arg1K1 = location_27X;
  1075.         goto raise_exception1;}
  1076.       else {
  1077.         goto START;}}
  1078.       break;
  1079.     case 14 : {
  1080.       b_30X = *((unsigned char *) (RScode_pointerS));
  1081.       RScode_pointerS = (1 + (RScode_pointerS));
  1082.       location_29X = *((long *) ((-3 + (StemplateS)) + (((((long)b_30X))<<2))));
  1083.       if ((273 == (*((long *) (-3 + location_29X))))) {
  1084.         merged_arg0K0 = 1;
  1085.         merged_arg1K1 = location_29X;
  1086.         merged_arg1K2 = (RSvalS);
  1087.         goto raise_exception2;}
  1088.       else {
  1089.         *((long *) (-3 + location_29X)) = (RSvalS);
  1090.         RSvalS = 13;
  1091.         goto START;}}
  1092.       break;
  1093.     case 15 : {
  1094.       p_259X = RSenvS;
  1095.       if ((p_259X < (Sstack_beginS))) {
  1096.         arg1K0 = 0;
  1097.         goto L28104;}
  1098.       else {
  1099.         if (((Sstack_endS) < p_259X)) {
  1100.           arg1K0 = 0;
  1101.           goto L28104;}
  1102.         else {
  1103.           arg1K0 = ((Sstack_endS) - (Sstack_beginS));
  1104.           goto L28104;}}}
  1105.       break;
  1106.     case 16 : {
  1107.       *((long *) (RSstackS)) = (RSvalS);
  1108.       RSstackS = (-4 + (RSstackS));
  1109.       goto START;}
  1110.       break;
  1111.     case 17 : {
  1112.       RSstackS = (4 + (RSstackS));
  1113.       RSvalS = (*((long *) (RSstackS)));
  1114.       goto START;}
  1115.       break;
  1116.     case 18 : {
  1117.       b_31X = *((unsigned char *) (RScode_pointerS));
  1118.       RScode_pointerS = (1 + (RScode_pointerS));
  1119.       RSvalS = (*((long *) (4 + ((RSstackS) + (((((long)b_31X))<<2))))));
  1120.       goto START;}
  1121.       break;
  1122.     case 19 : {
  1123.       b_258X = *((unsigned char *) (RScode_pointerS));
  1124.       RScode_pointerS = (1 + (RScode_pointerS));
  1125.       *((long *) (4 + ((RSstackS) + (((((long)b_258X))<<2))))) = (RSvalS);
  1126.       goto START;}
  1127.       break;
  1128.     case 20 : {
  1129.       b_254X = *((unsigned char *) (RScode_pointerS));
  1130.       RScode_pointerS = (1 + (RScode_pointerS));
  1131.       b_255X = *((unsigned char *) (RScode_pointerS));
  1132.       RScode_pointerS = (1 + (RScode_pointerS));
  1133.       b_256X = *((unsigned char *) (RScode_pointerS));
  1134.       RScode_pointerS = (1 + (RScode_pointerS));
  1135.       if (((Sstack_limitS) < (-276 + (RSstackS)))) {
  1136.         arg1K0 = 0;
  1137.         goto L28247;}
  1138.       else {
  1139.         space_257X = 1 + (((((Sstack_endS) - (RSstackS)))>>2));
  1140.         if ((((ShpS) + (((space_257X)<<2))) < (SlimitS))) {
  1141.           arg1K0 = 0;
  1142.           goto L28264;}
  1143.         else {
  1144.           merged_arg1K0 = 0;
  1145.           collect_saving_temp_return_tag = 2;
  1146.           goto collect_saving_temp;
  1147.          collect_saving_temp_return_2:
  1148.           if ((((ShpS) + (((space_257X)<<2))) < (SlimitS))) {
  1149.             arg1K0 = 0;
  1150.             goto L28264;}
  1151.           else {
  1152.             TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  1153.             arg1K0 = 0;
  1154.             goto L28264;}}}}
  1155.       break;
  1156.     case 21 : {
  1157.       space_32X = 1 + (((((Sstack_endS) - (RSstackS)))>>2));
  1158.       if ((((ShpS) + (((space_32X)<<2))) < (SlimitS))) {
  1159.         arg1K0 = 0;
  1160.         goto L29948;}
  1161.       else {
  1162.         merged_arg1K0 = 0;
  1163.         collect_saving_temp_return_tag = 3;
  1164.         goto collect_saving_temp;
  1165.        collect_saving_temp_return_3:
  1166.         if ((((ShpS) + (((space_32X)<<2))) < (SlimitS))) {
  1167.           arg1K0 = 0;
  1168.           goto L29948;}
  1169.         else {
  1170.           TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  1171.           arg1K0 = 0;
  1172.           goto L29948;}}}
  1173.       break;
  1174.     case 22 : {
  1175.       cont_34X = *((long *) (-3 + (Sbottom_of_stackS)));
  1176.       if ((1 == cont_34X)) {
  1177.         if ((0 == (3 & (RSvalS)))) {
  1178.           RSvalS = ((((RSvalS))>>2));
  1179.           SvalS = RSvalS;
  1180.           SstackS = RSstackS;
  1181.           Scode_pointerS = RScode_pointerS;
  1182.           SenvS = RSenvS;
  1183.           TTreturn_value = 0;
  1184.           return(0L);}
  1185.         else {
  1186.           RSstackS = (-11 + (Sbottom_of_stackS));
  1187.           *((long *) (-3 + (Sbottom_of_stackS))) = 1;
  1188.           merged_arg0K0 = 0;
  1189.           merged_arg1K1 = (RSvalS);
  1190.           goto raise_exception1;}}
  1191.       else {
  1192.         if ((1 == cont_34X)) {
  1193.           RSstackS = (-11 + (Sbottom_of_stackS));
  1194.           *((long *) (-3 + (Sbottom_of_stackS))) = 1;
  1195.           arg1K0 = (Sbottom_of_stackS);
  1196.           goto L28365;}
  1197.         else {
  1198.           merged_arg1K0 = cont_34X;
  1199.           copy_continuation_from_heap_return_tag = 0;
  1200.           goto copy_continuation_from_heap;
  1201.          copy_continuation_from_heap_return_0:
  1202.           v_33X = copy_continuation_from_heap_return_value;
  1203.           arg1K0 = v_33X;
  1204.           goto L28365;}}}
  1205.       break;
  1206.     case 23 : {
  1207.       SnargsS = ((long)(*((unsigned char *) (RScode_pointerS))));
  1208.       merged_arg0K0 = 0;
  1209.       goto perform_application;}
  1210.       break;
  1211.     case 24 : {
  1212.       SnargsS = ((long)(*((unsigned char *) (RScode_pointerS))));
  1213.       start_arg_252X = (RSstackS) + ((((SnargsS))<<2));
  1214.       start_loc_253X = -11 + (ScontS);
  1215.       if ((start_arg_252X < start_loc_253X)) {
  1216.         arg1K0 = start_loc_253X;
  1217.         arg1K1 = start_arg_252X;
  1218.         goto L15929;}
  1219.       else {
  1220.         goto L15912;}}
  1221.       break;
  1222.     case 25 : {
  1223.       RSstackS = (4 + (RSstackS));
  1224.       proc_36X = *((long *) (RSstackS));
  1225.       list_35X = RSvalS;
  1226.       arg1K0 = list_35X;
  1227.       arg1K1 = 0;
  1228.       arg1K2 = list_35X;
  1229.       arg3K3 = 0;
  1230.       goto L25376;}
  1231.       break;
  1232.     case 26 : {
  1233.       RSstackS = (4 + (RSstackS));
  1234.       cont_38X = *((long *) (RSstackS));
  1235.       if ((1 == cont_38X)) {
  1236.         RSstackS = (-11 + (Sbottom_of_stackS));
  1237.         *((long *) (-3 + (Sbottom_of_stackS))) = 1;
  1238.         arg1K0 = (Sbottom_of_stackS);
  1239.         goto L29978;}
  1240.       else {
  1241.         merged_arg1K0 = cont_38X;
  1242.         copy_continuation_from_heap_return_tag = 1;
  1243.         goto copy_continuation_from_heap;
  1244.        copy_continuation_from_heap_return_1:
  1245.         v_37X = copy_continuation_from_heap_return_value;
  1246.         arg1K0 = v_37X;
  1247.         goto L29978;}}
  1248.       break;
  1249.     case 27 : {
  1250.       RSstackS = (4 + (RSstackS));
  1251.       consumer_251X = *((long *) (RSstackS));
  1252.       *((long *) (RSstackS)) = (RSvalS);
  1253.       RSstackS = (-4 + (RSstackS));
  1254.       RSvalS = consumer_251X;
  1255.       SnargsS = 1;
  1256.       merged_arg0K0 = 0;
  1257.       goto perform_application;}
  1258.       break;
  1259.     case 28 : {
  1260.       cont_41X = ScontS;
  1261.       tem_40X = *((long *) (5 + cont_41X));
  1262.       pc_39X = *((long *) (1 + cont_41X));
  1263.       StemplateS = tem_40X;
  1264.       RScode_pointerS = ((-3 + (*((long *) (-3 + tem_40X)))) + (((pc_39X)>>2)));
  1265.       RSenvS = (*((long *) (9 + cont_41X)));
  1266.       ScontS = (*((long *) (-3 + cont_41X)));
  1267.       RSstackS = (9 + cont_41X);
  1268.       goto START;}
  1269.       break;
  1270.     case 29 : {
  1271.       merged_arg1K0 = (SnargsS);
  1272.       goto return_values;}
  1273.       break;
  1274.     case 30 : {
  1275.       merged_arg1K0 = ((long)(*((unsigned char *) (RScode_pointerS))));
  1276.       goto return_values;}
  1277.       break;
  1278.     case 31 : {
  1279.       goto START;}
  1280.       break;
  1281.     case 32 : {
  1282.       b_43X = *((unsigned char *) (RScode_pointerS));
  1283.       RScode_pointerS = (1 + (RScode_pointerS));
  1284.       tem_42X = *((long *) ((-3 + (StemplateS)) + (((((long)b_43X))<<2))));
  1285.       StemplateS = tem_42X;
  1286.       RScode_pointerS = (-3 + (*((long *) (-3 + tem_42X))));
  1287.       goto START;}
  1288.       break;
  1289.     case 33 : {
  1290.       b_46X = *((unsigned char *) (RScode_pointerS));
  1291.       RScode_pointerS = (1 + (RScode_pointerS));
  1292.       SnargsS = ((long)b_46X);
  1293.       b_45X = *((unsigned char *) (RScode_pointerS));
  1294.       RScode_pointerS = (1 + (RScode_pointerS));
  1295.       tem_44X = *((long *) ((-3 + (StemplateS)) + (((((long)b_45X))<<2))));
  1296.       StemplateS = tem_44X;
  1297.       RScode_pointerS = (-3 + (*((long *) (-3 + tem_44X))));
  1298.       if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
  1299.         goto START;}
  1300.       else {
  1301.         goto handle_interrupt;}}
  1302.       break;
  1303.     case 34 : {
  1304.       b_48X = *((unsigned char *) (RScode_pointerS));
  1305.       RScode_pointerS = (1 + (RScode_pointerS));
  1306.       b_47X = *((unsigned char *) (RScode_pointerS));
  1307.       RScode_pointerS = (1 + (RScode_pointerS));
  1308.       if ((1 == (RSvalS))) {
  1309.         RScode_pointerS = ((RScode_pointerS) + ((((((long)b_48X))<<8)) + ((long)b_47X)));
  1310.         goto START;}
  1311.       else {
  1312.         goto START;}}
  1313.       break;
  1314.     case 35 : {
  1315.       b_249X = *((unsigned char *) (RScode_pointerS));
  1316.       RScode_pointerS = (1 + (RScode_pointerS));
  1317.       b_250X = *((unsigned char *) (RScode_pointerS));
  1318.       RScode_pointerS = (1 + (RScode_pointerS));
  1319.       RScode_pointerS = ((RScode_pointerS) + ((((((long)b_249X))<<8)) + ((long)b_250X)));
  1320.       goto START;}
  1321.       break;
  1322.     case 36 : {
  1323.       if ((0 == (3 & (RSvalS)))) {
  1324.         val_50X = (((RSvalS))>>2);
  1325.         b_49X = *((unsigned char *) (RScode_pointerS));
  1326.         RScode_pointerS = (1 + (RScode_pointerS));
  1327.         if ((val_50X < 0)) {
  1328.           arg1K0 = (((((long)b_49X))<<1));
  1329.           goto L28572;}
  1330.         else {
  1331.           if ((val_50X < ((long)b_49X))) {
  1332.             RScode_pointerS = ((RScode_pointerS) + (((val_50X)<<1)));
  1333.             b_247X = *((unsigned char *) (RScode_pointerS));
  1334.             RScode_pointerS = (1 + (RScode_pointerS));
  1335.             b_248X = *((unsigned char *) (RScode_pointerS));
  1336.             RScode_pointerS = (1 + (RScode_pointerS));
  1337.             arg1K0 = ((((((long)b_247X))<<8)) + ((long)b_248X));
  1338.             goto L28572;}
  1339.           else {
  1340.             arg1K0 = (((((long)b_49X))<<1));
  1341.             goto L28572;}}}
  1342.       else {
  1343.         merged_arg0K0 = 0;
  1344.         merged_arg1K1 = (RSvalS);
  1345.         goto raise_exception1;}}
  1346.       break;
  1347.     case 37 : {
  1348.       RSstackS = (4 + (RSstackS));
  1349.       arg2_245X = *((long *) (RSstackS));
  1350.       x_246X = RSvalS;
  1351.       if ((arg2_245X == x_246X)) {
  1352.         arg0K0 = 5;
  1353.         goto L30099;}
  1354.       else {
  1355.         arg0K0 = 1;
  1356.         goto L30099;}}
  1357.       break;
  1358.     case 38 : {
  1359.       x_244X = RSvalS;
  1360.       if ((0 == (3 & x_244X))) {
  1361.         arg0K0 = 5;
  1362.         goto L30113;}
  1363.       else {
  1364.         if ((3 == (3 & x_244X))) {
  1365.           if ((9 == (31 & ((((*((long *) (-7 + x_244X))))>>2))))) {
  1366.             arg0K0 = 5;
  1367.             goto L30113;}
  1368.           else {
  1369.             arg0K0 = 1;
  1370.             goto L30113;}}
  1371.         else {
  1372.           arg0K0 = 1;
  1373.           goto L30113;}}}
  1374.       break;
  1375.     case 39 : {
  1376.       x_243X = RSvalS;
  1377.       if ((0 == (3 & x_243X))) {
  1378.         RSvalS = 5;
  1379.         goto START;}
  1380.       else {
  1381.         if ((3 == (3 & x_243X))) {
  1382.           if ((9 == (31 & ((((*((long *) (-7 + x_243X))))>>2))))) {
  1383.             merged_arg0K0 = 0;
  1384.             merged_arg1K1 = x_243X;
  1385.             goto raise_exception1;}
  1386.           else {
  1387.             goto L30131;}}
  1388.         else {
  1389.           goto L30131;}}}
  1390.       break;
  1391.     case 40 : {
  1392.       x_242X = RSvalS;
  1393.       if ((0 == (3 & x_242X))) {
  1394.         RSvalS = 5;
  1395.         goto START;}
  1396.       else {
  1397.         if ((3 == (3 & x_242X))) {
  1398.           if ((9 == (31 & ((((*((long *) (-7 + x_242X))))>>2))))) {
  1399.             merged_arg0K0 = 0;
  1400.             merged_arg1K1 = x_242X;
  1401.             goto raise_exception1;}
  1402.           else {
  1403.             goto L30158;}}
  1404.         else {
  1405.           goto L30158;}}}
  1406.       break;
  1407.     case 41 : {
  1408.       x_241X = RSvalS;
  1409.       if ((0 == (3 & x_241X))) {
  1410.         RSvalS = 5;
  1411.         goto START;}
  1412.       else {
  1413.         if ((3 == (3 & x_241X))) {
  1414.           if ((9 == (31 & ((((*((long *) (-7 + x_241X))))>>2))))) {
  1415.             merged_arg0K0 = 0;
  1416.             merged_arg1K1 = x_241X;
  1417.             goto raise_exception1;}
  1418.           else {
  1419.             goto L30185;}}
  1420.         else {
  1421.           goto L30185;}}}
  1422.       break;
  1423.     case 42 : {
  1424.       x_240X = RSvalS;
  1425.       if ((0 == (3 & x_240X))) {
  1426.         RSvalS = 5;
  1427.         goto START;}
  1428.       else {
  1429.         if ((3 == (3 & x_240X))) {
  1430.           if ((9 == (31 & ((((*((long *) (-7 + x_240X))))>>2))))) {
  1431.             merged_arg0K0 = 0;
  1432.             merged_arg1K1 = x_240X;
  1433.             goto raise_exception1;}
  1434.           else {
  1435.             goto L30212;}}
  1436.         else {
  1437.           goto L30212;}}}
  1438.       break;
  1439.     case 43 : {
  1440.       if ((0 == (3 & (RSvalS)))) {
  1441.         RSvalS = 5;
  1442.         goto START;}
  1443.       else {
  1444.         merged_arg0K0 = 0;
  1445.         merged_arg1K1 = (RSvalS);
  1446.         goto raise_exception1;}}
  1447.       break;
  1448.     case 44 : {
  1449.       if ((0 == (3 & (RSvalS)))) {
  1450.         merged_arg0K0 = 0;
  1451.         merged_arg1K1 = (RSvalS);
  1452.         goto raise_exception1;}
  1453.       else {
  1454.         merged_arg0K0 = 0;
  1455.         merged_arg1K1 = (RSvalS);
  1456.         goto raise_exception1;}}
  1457.       break;
  1458.     case 45 : {
  1459.       if ((0 == (3 & (RSvalS)))) {
  1460.         merged_arg0K0 = 0;
  1461.         merged_arg1K1 = (RSvalS);
  1462.         goto raise_exception1;}
  1463.       else {
  1464.         merged_arg0K0 = 0;
  1465.         merged_arg1K1 = (RSvalS);
  1466.         goto raise_exception1;}}
  1467.       break;
  1468.     case 46 : {
  1469.       RSstackS = (4 + (RSstackS));
  1470.       arg2_239X = *((long *) (RSstackS));
  1471.       if ((0 == (3 & (arg2_239X | (RSvalS))))) {
  1472.         x_52X = RSvalS;
  1473.         z_51X = (((arg2_239X)>>2)) + (((x_52X)>>2));
  1474.         if ((536870911 < z_51X)) {
  1475.           goto L24263;}
  1476.         else {
  1477.           if ((z_51X < -536870912)) {
  1478.             goto L24263;}
  1479.           else {
  1480.             RSvalS = (((z_51X)<<2));
  1481.             goto START;}}}
  1482.       else {
  1483.         merged_arg0K0 = 0;
  1484.         merged_arg1K1 = arg2_239X;
  1485.         merged_arg1K2 = (RSvalS);
  1486.         goto raise_exception2;}}
  1487.       break;
  1488.     case 47 : {
  1489.       RSstackS = (4 + (RSstackS));
  1490.       arg2_53X = *((long *) (RSstackS));
  1491.       if ((0 == (3 & (arg2_53X | (RSvalS))))) {
  1492.         x_236X = RSvalS;
  1493.         a_237X = ((arg2_53X)>>2);
  1494.         b_238X = ((x_236X)>>2);
  1495.         if ((a_237X < 0)) {
  1496.           arg1K0 = (0 - a_237X);
  1497.           goto L24057;}
  1498.         else {
  1499.           arg1K0 = a_237X;
  1500.           goto L24057;}}
  1501.       else {
  1502.         merged_arg0K0 = 0;
  1503.         merged_arg1K1 = arg2_53X;
  1504.         merged_arg1K2 = (RSvalS);
  1505.         goto raise_exception2;}}
  1506.       break;
  1507.     case 48 : {
  1508.       RSstackS = (4 + (RSstackS));
  1509.       arg2_54X = *((long *) (RSstackS));
  1510.       if ((0 == (3 & (arg2_54X | (RSvalS))))) {
  1511.         x_234X = RSvalS;
  1512.         z_235X = (((arg2_54X)>>2)) - (((x_234X)>>2));
  1513.         if ((536870911 < z_235X)) {
  1514.           goto L23940;}
  1515.         else {
  1516.           if ((z_235X < -536870912)) {
  1517.             goto L23940;}
  1518.           else {
  1519.             RSvalS = (((z_235X)<<2));
  1520.             goto START;}}}
  1521.       else {
  1522.         merged_arg0K0 = 0;
  1523.         merged_arg1K1 = arg2_54X;
  1524.         merged_arg1K2 = (RSvalS);
  1525.         goto raise_exception2;}}
  1526.       break;
  1527.     case 49 : {
  1528.       RSstackS = (4 + (RSstackS));
  1529.       arg2_55X = *((long *) (RSstackS));
  1530.       if ((0 == (3 & (arg2_55X | (RSvalS))))) {
  1531.         x_231X = RSvalS;
  1532.         if ((0 == x_231X)) {
  1533.           merged_arg0K0 = 0;
  1534.           merged_arg1K1 = arg2_55X;
  1535.           merged_arg1K2 = x_231X;
  1536.           goto raise_exception2;}
  1537.         else {
  1538.           a_232X = ((arg2_55X)>>2);
  1539.           b_233X = ((x_231X)>>2);
  1540.           if ((a_232X < 0)) {
  1541.             arg1K0 = (0 - a_232X);
  1542.             goto L23734;}
  1543.           else {
  1544.             arg1K0 = a_232X;
  1545.             goto L23734;}}}
  1546.       else {
  1547.         merged_arg0K0 = 0;
  1548.         merged_arg1K1 = arg2_55X;
  1549.         merged_arg1K2 = (RSvalS);
  1550.         goto raise_exception2;}}
  1551.       break;
  1552.     case 50 : {
  1553.       RSstackS = (4 + (RSstackS));
  1554.       arg2_230X = *((long *) (RSstackS));
  1555.       if ((0 == (3 & (arg2_230X | (RSvalS))))) {
  1556.         x_56X = RSvalS;
  1557.         if ((arg2_230X == x_56X)) {
  1558.           arg0K0 = 5;
  1559.           goto L30295;}
  1560.         else {
  1561.           arg0K0 = 1;
  1562.           goto L30295;}}
  1563.       else {
  1564.         merged_arg0K0 = 0;
  1565.         merged_arg1K1 = arg2_230X;
  1566.         merged_arg1K2 = (RSvalS);
  1567.         goto raise_exception2;}}
  1568.       break;
  1569.     case 51 : {
  1570.       RSstackS = (4 + (RSstackS));
  1571.       arg2_57X = *((long *) (RSstackS));
  1572.       if ((0 == (3 & (arg2_57X | (RSvalS))))) {
  1573.         x_229X = RSvalS;
  1574.         if ((arg2_57X < x_229X)) {
  1575.           arg0K0 = 5;
  1576.           goto L30319;}
  1577.         else {
  1578.           arg0K0 = 1;
  1579.           goto L30319;}}
  1580.       else {
  1581.         merged_arg0K0 = 0;
  1582.         merged_arg1K1 = arg2_57X;
  1583.         merged_arg1K2 = (RSvalS);
  1584.         goto raise_exception2;}}
  1585.       break;
  1586.     case 52 : {
  1587.       RSstackS = (4 + (RSstackS));
  1588.       arg2_58X = *((long *) (RSstackS));
  1589.       if ((0 == (3 & (arg2_58X | (RSvalS))))) {
  1590.         x_226X = RSvalS;
  1591.         if ((0 == x_226X)) {
  1592.           merged_arg0K0 = 0;
  1593.           merged_arg1K1 = arg2_58X;
  1594.           merged_arg1K2 = x_226X;
  1595.           goto raise_exception2;}
  1596.         else {
  1597.           a_227X = ((arg2_58X)>>2);
  1598.           b_228X = ((x_226X)>>2);
  1599.           if ((a_227X < 0)) {
  1600.             arg1K0 = (0 - a_227X);
  1601.             goto L23399;}
  1602.           else {
  1603.             arg1K0 = a_227X;
  1604.             goto L23399;}}}
  1605.       else {
  1606.         merged_arg0K0 = 0;
  1607.         merged_arg1K1 = arg2_58X;
  1608.         merged_arg1K2 = (RSvalS);
  1609.         goto raise_exception2;}}
  1610.       break;
  1611.     case 53 : {
  1612.       RSstackS = (4 + (RSstackS));
  1613.       arg2_59X = *((long *) (RSstackS));
  1614.       if ((0 == (3 & (arg2_59X | (RSvalS))))) {
  1615.         x_223X = RSvalS;
  1616.         if ((0 == x_223X)) {
  1617.           merged_arg0K0 = 0;
  1618.           merged_arg1K1 = arg2_59X;
  1619.           merged_arg1K2 = x_223X;
  1620.           goto raise_exception2;}
  1621.         else {
  1622.           a_224X = ((arg2_59X)>>2);
  1623.           b_225X = ((x_223X)>>2);
  1624.           if ((a_224X < 0)) {
  1625.             arg1K0 = (0 - a_224X);
  1626.             goto L23268;}
  1627.           else {
  1628.             arg1K0 = a_224X;
  1629.             goto L23268;}}}
  1630.       else {
  1631.         merged_arg0K0 = 0;
  1632.         merged_arg1K1 = arg2_59X;
  1633.         merged_arg1K2 = (RSvalS);
  1634.         goto raise_exception2;}}
  1635.       break;
  1636.     case 54 : {
  1637.       if ((0 == (3 & (RSvalS)))) {
  1638.         RSvalS = (RSvalS);
  1639.         goto START;}
  1640.       else {
  1641.         merged_arg0K0 = 0;
  1642.         merged_arg1K1 = (RSvalS);
  1643.         goto raise_exception1;}}
  1644.       break;
  1645.     case 55 : {
  1646.       if ((0 == (3 & (RSvalS)))) {
  1647.         RSvalS = (RSvalS);
  1648.         goto START;}
  1649.       else {
  1650.         merged_arg0K0 = 0;
  1651.         merged_arg1K1 = (RSvalS);
  1652.         goto raise_exception1;}}
  1653.       break;
  1654.     case 56 : {
  1655.       if ((0 == (3 & (RSvalS)))) {
  1656.         RSvalS = 4;
  1657.         goto START;}
  1658.       else {
  1659.         merged_arg0K0 = 0;
  1660.         merged_arg1K1 = (RSvalS);
  1661.         goto raise_exception1;}}
  1662.       break;
  1663.     case 57 : {
  1664.       if ((0 == (3 & (RSvalS)))) {
  1665.         RSvalS = (RSvalS);
  1666.         goto START;}
  1667.       else {
  1668.         merged_arg0K0 = 0;
  1669.         merged_arg1K1 = (RSvalS);
  1670.         goto raise_exception1;}}
  1671.       break;
  1672.     case 58 : {
  1673.       if ((0 == (3 & (RSvalS)))) {
  1674.         RSvalS = 0;
  1675.         goto START;}
  1676.       else {
  1677.         merged_arg0K0 = 0;
  1678.         merged_arg1K1 = (RSvalS);
  1679.         goto raise_exception1;}}
  1680.       break;
  1681.     case 59 : {
  1682.       if ((0 == (3 & (RSvalS)))) {
  1683.         merged_arg0K0 = 0;
  1684.         merged_arg1K1 = (RSvalS);
  1685.         goto raise_exception1;}
  1686.       else {
  1687.         merged_arg0K0 = 0;
  1688.         merged_arg1K1 = (RSvalS);
  1689.         goto raise_exception1;}}
  1690.       break;
  1691.     case 60 : {
  1692.       if ((0 == (3 & (RSvalS)))) {
  1693.         merged_arg0K0 = 0;
  1694.         merged_arg1K1 = (RSvalS);
  1695.         goto raise_exception1;}
  1696.       else {
  1697.         merged_arg0K0 = 0;
  1698.         merged_arg1K1 = (RSvalS);
  1699.         goto raise_exception1;}}
  1700.       break;
  1701.     case 61 : {
  1702.       if ((0 == (3 & (RSvalS)))) {
  1703.         merged_arg0K0 = 0;
  1704.         merged_arg1K1 = (RSvalS);
  1705.         goto raise_exception1;}
  1706.       else {
  1707.         merged_arg0K0 = 0;
  1708.         merged_arg1K1 = (RSvalS);
  1709.         goto raise_exception1;}}
  1710.       break;
  1711.     case 62 : {
  1712.       if ((0 == (3 & (RSvalS)))) {
  1713.         merged_arg0K0 = 0;
  1714.         merged_arg1K1 = (RSvalS);
  1715.         goto raise_exception1;}
  1716.       else {
  1717.         merged_arg0K0 = 0;
  1718.         merged_arg1K1 = (RSvalS);
  1719.         goto raise_exception1;}}
  1720.       break;
  1721.     case 63 : {
  1722.       if ((0 == (3 & (RSvalS)))) {
  1723.         merged_arg0K0 = 0;
  1724.         merged_arg1K1 = (RSvalS);
  1725.         goto raise_exception1;}
  1726.       else {
  1727.         merged_arg0K0 = 0;
  1728.         merged_arg1K1 = (RSvalS);
  1729.         goto raise_exception1;}}
  1730.       break;
  1731.     case 64 : {
  1732.       if ((0 == (3 & (RSvalS)))) {
  1733.         merged_arg0K0 = 0;
  1734.         merged_arg1K1 = (RSvalS);
  1735.         goto raise_exception1;}
  1736.       else {
  1737.         merged_arg0K0 = 0;
  1738.         merged_arg1K1 = (RSvalS);
  1739.         goto raise_exception1;}}
  1740.       break;
  1741.     case 65 : {
  1742.       if ((0 == (3 & (RSvalS)))) {
  1743.         merged_arg0K0 = 0;
  1744.         merged_arg1K1 = (RSvalS);
  1745.         goto raise_exception1;}
  1746.       else {
  1747.         merged_arg0K0 = 0;
  1748.         merged_arg1K1 = (RSvalS);
  1749.         goto raise_exception1;}}
  1750.       break;
  1751.     case 66 : {
  1752.       if ((0 == (3 & (RSvalS)))) {
  1753.         merged_arg0K0 = 0;
  1754.         merged_arg1K1 = (RSvalS);
  1755.         goto raise_exception1;}
  1756.       else {
  1757.         merged_arg0K0 = 0;
  1758.         merged_arg1K1 = (RSvalS);
  1759.         goto raise_exception1;}}
  1760.       break;
  1761.     case 67 : {
  1762.       if ((0 == (3 & (RSvalS)))) {
  1763.         x_60X = RSvalS;
  1764.         if ((x_60X < 0)) {
  1765.           merged_arg0K0 = 0;
  1766.           merged_arg1K1 = x_60X;
  1767.           goto raise_exception1;}
  1768.         else {
  1769.           RSvalS = 0;
  1770.           goto START;}}
  1771.       else {
  1772.         merged_arg0K0 = 0;
  1773.         merged_arg1K1 = (RSvalS);
  1774.         goto raise_exception1;}}
  1775.       break;
  1776.     case 68 : {
  1777.       if ((0 == (3 & (RSvalS)))) {
  1778.         x_222X = RSvalS;
  1779.         if ((x_222X < 0)) {
  1780.           arg1K0 = (0 - x_222X);
  1781.           goto L30507;}
  1782.         else {
  1783.           arg1K0 = x_222X;
  1784.           goto L30507;}}
  1785.       else {
  1786.         merged_arg0K0 = 0;
  1787.         merged_arg1K1 = (RSvalS);
  1788.         goto raise_exception1;}}
  1789.       break;
  1790.     case 69 : {
  1791.       RSstackS = (4 + (RSstackS));
  1792.       arg2_61X = *((long *) (RSstackS));
  1793.       if ((0 == (3 & (arg2_61X | (RSvalS))))) {
  1794.         merged_arg0K0 = 0;
  1795.         merged_arg1K1 = arg2_61X;
  1796.         merged_arg1K2 = (RSvalS);
  1797.         goto raise_exception2;}
  1798.       else {
  1799.         merged_arg0K0 = 0;
  1800.         merged_arg1K1 = arg2_61X;
  1801.         merged_arg1K2 = (RSvalS);
  1802.         goto raise_exception2;}}
  1803.       break;
  1804.     case 70 : {
  1805.       RSstackS = (4 + (RSstackS));
  1806.       arg2_62X = *((long *) (RSstackS));
  1807.       if ((0 == (3 & (arg2_62X | (RSvalS))))) {
  1808.         merged_arg0K0 = 0;
  1809.         merged_arg1K1 = arg2_62X;
  1810.         merged_arg1K2 = (RSvalS);
  1811.         goto raise_exception2;}
  1812.       else {
  1813.         merged_arg0K0 = 0;
  1814.         merged_arg1K1 = arg2_62X;
  1815.         merged_arg1K2 = (RSvalS);
  1816.         goto raise_exception2;}}
  1817.       break;
  1818.     case 71 : {
  1819.       RSstackS = (4 + (RSstackS));
  1820.       arg2_63X = *((long *) (RSstackS));
  1821.       if ((0 == (3 & (arg2_63X | (RSvalS))))) {
  1822.         merged_arg0K0 = 0;
  1823.         merged_arg1K1 = arg2_63X;
  1824.         merged_arg1K2 = (RSvalS);
  1825.         goto raise_exception2;}
  1826.       else {
  1827.         merged_arg0K0 = 0;
  1828.         merged_arg1K1 = arg2_63X;
  1829.         merged_arg1K2 = (RSvalS);
  1830.         goto raise_exception2;}}
  1831.       break;
  1832.     case 72 : {
  1833.       if ((0 == (3 & (RSvalS)))) {
  1834.         RSvalS = ((((~ ((((RSvalS))>>2))))<<2));
  1835.         goto START;}
  1836.       else {
  1837.         merged_arg0K0 = 0;
  1838.         merged_arg1K1 = (RSvalS);
  1839.         goto raise_exception1;}}
  1840.       break;
  1841.     case 73 : {
  1842.       RSstackS = (4 + (RSstackS));
  1843.       arg2_64X = *((long *) (RSstackS));
  1844.       if ((0 == (3 & (arg2_64X | (RSvalS))))) {
  1845.         RSvalS = (((((((arg2_64X)>>2)) & ((((RSvalS))>>2))))<<2));
  1846.         goto START;}
  1847.       else {
  1848.         merged_arg0K0 = 0;
  1849.         merged_arg1K1 = arg2_64X;
  1850.         merged_arg1K2 = (RSvalS);
  1851.         goto raise_exception2;}}
  1852.       break;
  1853.     case 74 : {
  1854.       RSstackS = (4 + (RSstackS));
  1855.       arg2_65X = *((long *) (RSstackS));
  1856.       if ((0 == (3 & (arg2_65X | (RSvalS))))) {
  1857.         RSvalS = (((((((arg2_65X)>>2)) | ((((RSvalS))>>2))))<<2));
  1858.         goto START;}
  1859.       else {
  1860.         merged_arg0K0 = 0;
  1861.         merged_arg1K1 = arg2_65X;
  1862.         merged_arg1K2 = (RSvalS);
  1863.         goto raise_exception2;}}
  1864.       break;
  1865.     case 75 : {
  1866.       RSstackS = (4 + (RSstackS));
  1867.       arg2_66X = *((long *) (RSstackS));
  1868.       if ((0 == (3 & (arg2_66X | (RSvalS))))) {
  1869.         RSvalS = (((((((arg2_66X)>>2)) ^ ((((RSvalS))>>2))))<<2));
  1870.         goto START;}
  1871.       else {
  1872.         merged_arg0K0 = 0;
  1873.         merged_arg1K1 = arg2_66X;
  1874.         merged_arg1K2 = (RSvalS);
  1875.         goto raise_exception2;}}
  1876.       break;
  1877.     case 76 : {
  1878.       RSstackS = (4 + (RSstackS));
  1879.       arg2_220X = *((long *) (RSstackS));
  1880.       if ((0 == (3 & (arg2_220X | (RSvalS))))) {
  1881.         x_72X = RSvalS;
  1882.         count_71X = ((x_72X)>>2);
  1883.         value_70X = ((arg2_220X)>>2);
  1884.         if ((count_71X < 0)) {
  1885.           PS_SHIFT_RIGHT(value_70X, (0 - count_71X), x_221X)
  1886.           RSvalS = (((x_221X)<<2));
  1887.           goto START;}
  1888.         else {
  1889.           PS_SHIFT_LEFT(value_70X, count_71X, x_69X)
  1890.           result_68X = (((((x_69X)<<2)))>>2);
  1891.           PS_SHIFT_RIGHT(result_68X, count_71X, x_67X)
  1892.           if ((value_70X == x_67X)) {
  1893.             if ((value_70X < 0)) {
  1894.               if ((result_68X < 0)) {
  1895.                 goto L22717;}
  1896.               else {
  1897.                 goto L22714;}}
  1898.             else {
  1899.               if ((result_68X < 0)) {
  1900.                 goto L22714;}
  1901.               else {
  1902.                 goto L22717;}}}
  1903.           else {
  1904.             goto L22714;}}}
  1905.       else {
  1906.         merged_arg0K0 = 0;
  1907.         merged_arg1K1 = arg2_220X;
  1908.         merged_arg1K2 = (RSvalS);
  1909.         goto raise_exception2;}}
  1910.       break;
  1911.     case 77 : {
  1912.       x_219X = RSvalS;
  1913.       if ((9 == (255 & x_219X))) {
  1914.         arg0K0 = 5;
  1915.         goto L30635;}
  1916.       else {
  1917.         arg0K0 = 1;
  1918.         goto L30635;}}
  1919.       break;
  1920.     case 78 : {
  1921.       RSstackS = (4 + (RSstackS));
  1922.       arg2_217X = *((long *) (RSstackS));
  1923.       if ((9 == (255 & arg2_217X))) {
  1924.         if ((9 == (255 & (RSvalS)))) {
  1925.           x_218X = RSvalS;
  1926.           if ((arg2_217X == x_218X)) {
  1927.             arg0K0 = 5;
  1928.             goto L30662;}
  1929.           else {
  1930.             arg0K0 = 1;
  1931.             goto L30662;}}
  1932.         else {
  1933.           goto L30650;}}
  1934.       else {
  1935.         goto L30650;}}
  1936.       break;
  1937.     case 79 : {
  1938.       RSstackS = (4 + (RSstackS));
  1939.       arg2_215X = *((long *) (RSstackS));
  1940.       if ((9 == (255 & arg2_215X))) {
  1941.         if ((9 == (255 & (RSvalS)))) {
  1942.           x_216X = RSvalS;
  1943.           if ((arg2_215X < x_216X)) {
  1944.             arg0K0 = 5;
  1945.             goto L30691;}
  1946.           else {
  1947.             arg0K0 = 1;
  1948.             goto L30691;}}
  1949.         else {
  1950.           goto L30679;}}
  1951.       else {
  1952.         goto L30679;}}
  1953.       break;
  1954.     case 80 : {
  1955.       if ((9 == (255 & (RSvalS)))) {
  1956.         RSvalS = (((((long)((((((RSvalS))>>8))))))<<2));
  1957.         goto START;}
  1958.       else {
  1959.         merged_arg0K0 = 0;
  1960.         merged_arg1K1 = (RSvalS);
  1961.         goto raise_exception1;}}
  1962.       break;
  1963.     case 81 : {
  1964.       if ((0 == (3 & (RSvalS)))) {
  1965.         x_73X = (((RSvalS))>>2);
  1966.         if ((255 < x_73X)) {
  1967.           goto L30722;}
  1968.         else {
  1969.           if ((x_73X < 0)) {
  1970.             goto L30722;}
  1971.           else {
  1972.             RSvalS = (9 + (((((long)((x_73X))))<<8)));
  1973.             goto START;}}}
  1974.       else {
  1975.         merged_arg0K0 = 0;
  1976.         merged_arg1K1 = (RSvalS);
  1977.         goto raise_exception1;}}
  1978.       break;
  1979.     case 82 : {
  1980.       x_214X = RSvalS;
  1981.       if ((21 == x_214X)) {
  1982.         arg0K0 = 5;
  1983.         goto L30744;}
  1984.       else {
  1985.         arg0K0 = 1;
  1986.         goto L30744;}}
  1987.       break;
  1988.     case 83 : {
  1989.       x_75X = RSvalS;
  1990.       b_74X = *((unsigned char *) (RScode_pointerS));
  1991.       RScode_pointerS = (1 + (RScode_pointerS));
  1992.       if ((3 == (3 & x_75X))) {
  1993.         if (((31 & ((((*((long *) (-7 + x_75X))))>>2))) == ((long)b_74X))) {
  1994.           arg0K0 = 5;
  1995.           goto L30762;}
  1996.         else {
  1997.           arg0K0 = 1;
  1998.           goto L30762;}}
  1999.       else {
  2000.         arg0K0 = 1;
  2001.         goto L30762;}}
  2002.       break;
  2003.     case 84 : {
  2004.       x_212X = RSvalS;
  2005.       b_213X = *((unsigned char *) (RScode_pointerS));
  2006.       RScode_pointerS = (1 + (RScode_pointerS));
  2007.       if ((3 == (3 & x_212X))) {
  2008.         if (((31 & ((((*((long *) (-7 + x_212X))))>>2))) == ((long)b_213X))) {
  2009.           RSvalS = (-4 & (3 + ((long)(((unsigned long)(*((long *) (-7 + x_212X))))>>8))));
  2010.           goto START;}
  2011.         else {
  2012.           goto L22430;}}
  2013.       else {
  2014.         goto L22430;}}
  2015.       break;
  2016.     case 85 : {
  2017.       space_76X = 4 + (((((long)(*((unsigned char *) (RScode_pointerS)))))<<2));
  2018.       if ((((ShpS) + (((space_76X)<<2))) < (SlimitS))) {
  2019.         goto L16631;}
  2020.       else {
  2021.         merged_arg1K0 = 0;
  2022.         collect_saving_temp_return_tag = 4;
  2023.         goto collect_saving_temp;
  2024.        collect_saving_temp_return_4:
  2025.         if ((((ShpS) + (((space_76X)<<2))) < (SlimitS))) {
  2026.           goto L16631;}
  2027.         else {
  2028.           TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  2029.           goto L16631;}}}
  2030.       break;
  2031.     case 86 : {
  2032.       x_209X = RSvalS;
  2033.       b_210X = *((unsigned char *) (RScode_pointerS));
  2034.       RScode_pointerS = (1 + (RScode_pointerS));
  2035.       b_211X = *((unsigned char *) (RScode_pointerS));
  2036.       RScode_pointerS = (1 + (RScode_pointerS));
  2037.       if ((3 == (3 & x_209X))) {
  2038.         if (((31 & ((((*((long *) (-7 + x_209X))))>>2))) == ((long)b_210X))) {
  2039.           RSvalS = (*((long *) ((-3 + x_209X) + (((((long)b_211X))<<2)))));
  2040.           goto START;}
  2041.         else {
  2042.           goto L25259;}}
  2043.       else {
  2044.         goto L25259;}}
  2045.       break;
  2046.     case 87 : {
  2047.       RSstackS = (4 + (RSstackS));
  2048.       arg2_80X = *((long *) (RSstackS));
  2049.       x_79X = RSvalS;
  2050.       b_78X = *((unsigned char *) (RScode_pointerS));
  2051.       RScode_pointerS = (1 + (RScode_pointerS));
  2052.       b_77X = *((unsigned char *) (RScode_pointerS));
  2053.       RScode_pointerS = (1 + (RScode_pointerS));
  2054.       if ((3 == (3 & arg2_80X))) {
  2055.         if (((31 & ((((*((long *) (-7 + arg2_80X))))>>2))) == ((long)b_78X))) {
  2056.           if ((3 == (3 & arg2_80X))) {
  2057.             if ((0 == (128 & (*((long *) (-7 + arg2_80X)))))) {
  2058.               *((long *) ((-3 + arg2_80X) + (((((long)b_77X))<<2)))) = x_79X;
  2059.               RSvalS = 13;
  2060.               goto START;}
  2061.             else {
  2062.               goto L25732;}}
  2063.           else {
  2064.             goto L25732;}}
  2065.         else {
  2066.           goto L25732;}}
  2067.       else {
  2068.         goto L25732;}}
  2069.       break;
  2070.     case 88 : {
  2071.       RSstackS = (4 + (RSstackS));
  2072.       arg2_208X = *((long *) (RSstackS));
  2073.       if ((0 == (3 & arg2_208X))) {
  2074.         x_85X = RSvalS;
  2075.         len_84X = ((arg2_208X)>>2);
  2076.         b_83X = *((unsigned char *) (RScode_pointerS));
  2077.         RScode_pointerS = (1 + (RScode_pointerS));
  2078.         size_82X = 1 + len_84X;
  2079.         if ((len_84X < 0)) {
  2080.           goto L25022;}
  2081.         else {
  2082.           if ((4194304 < size_82X)) {
  2083.             goto L25022;}
  2084.           else {
  2085.             if ((((ShpS) + (((size_82X)<<2))) < (SlimitS))) {
  2086.               arg3K0 = 1;
  2087.               arg1K1 = x_85X;
  2088.               goto L25027;}
  2089.             else {
  2090.               merged_arg1K0 = x_85X;
  2091.               collect_saving_temp_return_tag = 5;
  2092.               goto collect_saving_temp;
  2093.              collect_saving_temp_return_5:
  2094.               temp_81X = collect_saving_temp_return_value;
  2095.               arg3K0 = (((ShpS) + (((size_82X)<<2))) < (SlimitS));
  2096.               arg1K1 = temp_81X;
  2097.               goto L25027;}}}}
  2098.       else {
  2099.         merged_arg0K0 = 0;
  2100.         merged_arg1K1 = arg2_208X;
  2101.         merged_arg1K2 = (RSvalS);
  2102.         goto raise_exception2;}}
  2103.       break;
  2104.     case 89 : {
  2105.       RSstackS = (4 + (RSstackS));
  2106.       arg2_207X = *((long *) (RSstackS));
  2107.       if ((0 == (3 & (RSvalS)))) {
  2108.         index_88X = (((RSvalS))>>2);
  2109.         b_87X = *((unsigned char *) (RScode_pointerS));
  2110.         RScode_pointerS = (1 + (RScode_pointerS));
  2111.         if ((3 == (3 & arg2_207X))) {
  2112.           if (((31 & ((((*((long *) (-7 + arg2_207X))))>>2))) == ((long)b_87X))) {
  2113.             len_86X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + arg2_207X))))>>8))))>>2);
  2114.             if ((index_88X < 0)) {
  2115.               goto L24845;}
  2116.             else {
  2117.               if ((index_88X < len_86X)) {
  2118.                 RSvalS = (*((long *) ((-3 + arg2_207X) + (((index_88X)<<2)))));
  2119.                 goto START;}
  2120.               else {
  2121.                 goto L24845;}}}
  2122.           else {
  2123.             goto L24845;}}
  2124.         else {
  2125.           goto L24845;}}
  2126.       else {
  2127.         merged_arg0K0 = 0;
  2128.         merged_arg1K1 = arg2_207X;
  2129.         merged_arg1K2 = (RSvalS);
  2130.         goto raise_exception2;}}
  2131.       break;
  2132.     case 90 : {
  2133.       RSstackS = (4 + (RSstackS));
  2134.       arg2_205X = *((long *) (RSstackS));
  2135.       RSstackS = (4 + (RSstackS));
  2136.       arg3_206X = *((long *) (RSstackS));
  2137.       if ((0 == (3 & arg2_205X))) {
  2138.         x_92X = RSvalS;
  2139.         index_91X = ((arg2_205X)>>2);
  2140.         b_90X = *((unsigned char *) (RScode_pointerS));
  2141.         RScode_pointerS = (1 + (RScode_pointerS));
  2142.         if ((3 == (3 & arg3_206X))) {
  2143.           if (((31 & ((((*((long *) (-7 + arg3_206X))))>>2))) == ((long)b_90X))) {
  2144.             len_89X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + arg3_206X))))>>8))))>>2);
  2145.             if ((index_91X < 0)) {
  2146.               goto L25476;}
  2147.             else {
  2148.               if ((index_91X < len_89X)) {
  2149.                 if ((3 == (3 & arg3_206X))) {
  2150.                   if ((0 == (128 & (*((long *) (-7 + arg3_206X)))))) {
  2151.                     *((long *) ((-3 + arg3_206X) + (((index_91X)<<2)))) = x_92X;
  2152.                     RSvalS = 13;
  2153.                     goto START;}
  2154.                   else {
  2155.                     goto L25476;}}
  2156.                 else {
  2157.                   goto L25476;}}
  2158.               else {
  2159.                 goto L25476;}}}
  2160.           else {
  2161.             goto L25476;}}
  2162.         else {
  2163.           goto L25476;}}
  2164.       else {
  2165.         merged_arg0K0 = 0;
  2166.         merged_arg1K1 = arg3_206X;
  2167.         merged_arg1K2 = arg2_205X;
  2168.         merged_arg1K3 = (RSvalS);
  2169.         goto raise_exception3;}}
  2170.       break;
  2171.     case 91 : {
  2172.       RSstackS = (4 + (RSstackS));
  2173.       arg2_204X = *((long *) (RSstackS));
  2174.       if ((0 == (3 & (arg2_204X | (RSvalS))))) {
  2175.         init_95X = (((RSvalS))>>2);
  2176.         len_94X = ((arg2_204X)>>2);
  2177.         size_93X = 1 + ((((3 + len_94X))>>2));
  2178.         if ((len_94X < 0)) {
  2179.           goto L22178;}
  2180.         else {
  2181.           if ((4194304 < size_93X)) {
  2182.             goto L22178;}
  2183.           else {
  2184.             if ((((ShpS) + (((size_93X)<<2))) < (SlimitS))) {
  2185.               goto L22270;}
  2186.             else {
  2187.               merged_arg1K0 = 0;
  2188.               collect_saving_temp_return_tag = 6;
  2189.               goto collect_saving_temp;
  2190.              collect_saving_temp_return_6:
  2191.               if ((((ShpS) + (((size_93X)<<2))) < (SlimitS))) {
  2192.                 goto L22270;}
  2193.               else {
  2194.                 merged_arg0K0 = 0;
  2195.                 merged_arg1K1 = (((len_94X)<<2));
  2196.                 merged_arg1K2 = (((init_95X)<<2));
  2197.                 goto raise_exception2;}}}}}
  2198.       else {
  2199.         merged_arg0K0 = 0;
  2200.         merged_arg1K1 = arg2_204X;
  2201.         merged_arg1K2 = (RSvalS);
  2202.         goto raise_exception2;}}
  2203.       break;
  2204.     case 92 : {
  2205.       obj_96X = RSvalS;
  2206.       if ((3 == (3 & obj_96X))) {
  2207.         if ((16 == (31 & ((((*((long *) (-7 + obj_96X))))>>2))))) {
  2208.           RSvalS = (((((long)(((unsigned long)(*((long *) (-7 + (RSvalS)))))>>8)))<<2));
  2209.           goto START;}
  2210.         else {
  2211.           goto L30809;}}
  2212.       else {
  2213.         goto L30809;}}
  2214.       break;
  2215.     case 93 : {
  2216.       RSstackS = (4 + (RSstackS));
  2217.       arg2_97X = *((long *) (RSstackS));
  2218.       if ((3 == (3 & arg2_97X))) {
  2219.         if ((16 == (31 & ((((*((long *) (-7 + arg2_97X))))>>2))))) {
  2220.           if ((0 == (3 & (RSvalS)))) {
  2221.             index_202X = (((RSvalS))>>2);
  2222.             len_203X = (long)(((unsigned long)(*((long *) (-7 + arg2_97X))))>>8);
  2223.             if ((index_202X < 0)) {
  2224.               goto L22028;}
  2225.             else {
  2226.               if ((index_202X < len_203X)) {
  2227.                 RSvalS = (((((long)(*((unsigned char *) ((-3 + arg2_97X) + index_202X)))))<<2));
  2228.                 goto START;}
  2229.               else {
  2230.                 goto L22028;}}}
  2231.           else {
  2232.             goto L22033;}}
  2233.         else {
  2234.           goto L22033;}}
  2235.       else {
  2236.         goto L22033;}}
  2237.       break;
  2238.     case 94 : {
  2239.       RSstackS = (4 + (RSstackS));
  2240.       arg2_99X = *((long *) (RSstackS));
  2241.       RSstackS = (4 + (RSstackS));
  2242.       arg3_98X = *((long *) (RSstackS));
  2243.       if ((3 == (3 & arg3_98X))) {
  2244.         if ((16 == (31 & ((((*((long *) (-7 + arg3_98X))))>>2))))) {
  2245.           if ((0 == (3 & (arg2_99X | (RSvalS))))) {
  2246.             value_199X = (((RSvalS))>>2);
  2247.             index_200X = ((arg2_99X)>>2);
  2248.             len_201X = (long)(((unsigned long)(*((long *) (-7 + arg3_98X))))>>8);
  2249.             if ((index_200X < 0)) {
  2250.               goto L24671;}
  2251.             else {
  2252.               if ((index_200X < len_201X)) {
  2253.                 *((unsigned char *) ((-3 + arg3_98X) + index_200X)) = ((unsigned char)value_199X);
  2254.                 RSvalS = 13;
  2255.                 goto START;}
  2256.               else {
  2257.                 goto L24671;}}}
  2258.           else {
  2259.             goto L24678;}}
  2260.         else {
  2261.           goto L24678;}}
  2262.       else {
  2263.         goto L24678;}}
  2264.       break;
  2265.     case 95 : {
  2266.       RSstackS = (4 + (RSstackS));
  2267.       arg2_195X = *((long *) (RSstackS));
  2268.       if ((0 == (3 & arg2_195X))) {
  2269.         if ((9 == (255 & (RSvalS)))) {
  2270.           init_196X = ((((RSvalS))>>8));
  2271.           len_197X = ((arg2_195X)>>2);
  2272.           size_198X = 1 + ((((4 + len_197X))>>2));
  2273.           if ((len_197X < 0)) {
  2274.             goto L21763;}
  2275.           else {
  2276.             if ((4194304 < size_198X)) {
  2277.               goto L21763;}
  2278.             else {
  2279.               if ((((ShpS) + (((size_198X)<<2))) < (SlimitS))) {
  2280.                 goto L21857;}
  2281.               else {
  2282.                 merged_arg1K0 = 0;
  2283.                 collect_saving_temp_return_tag = 7;
  2284.                 goto collect_saving_temp;
  2285.                collect_saving_temp_return_7:
  2286.                 if ((((ShpS) + (((size_198X)<<2))) < (SlimitS))) {
  2287.                   goto L21857;}
  2288.                 else {
  2289.                   merged_arg0K0 = 0;
  2290.                   merged_arg1K1 = (((len_197X)<<2));
  2291.                   merged_arg1K2 = (9 + (((((long)(init_196X)))<<8)));
  2292.                   goto raise_exception2;}}}}}
  2293.         else {
  2294.           goto L21806;}}
  2295.       else {
  2296.         goto L21806;}}
  2297.       break;
  2298.     case 96 : {
  2299.       obj_100X = RSvalS;
  2300.       if ((3 == (3 & obj_100X))) {
  2301.         if ((15 == (31 & ((((*((long *) (-7 + obj_100X))))>>2))))) {
  2302.           RSvalS = (-4 + (((((long)(((unsigned long)(*((long *) (-7 + (RSvalS)))))>>8)))<<2)));
  2303.           goto START;}
  2304.         else {
  2305.           goto L30840;}}
  2306.       else {
  2307.         goto L30840;}}
  2308.       break;
  2309.     case 97 : {
  2310.       RSstackS = (4 + (RSstackS));
  2311.       arg2_101X = *((long *) (RSstackS));
  2312.       if ((3 == (3 & arg2_101X))) {
  2313.         if ((15 == (31 & ((((*((long *) (-7 + arg2_101X))))>>2))))) {
  2314.           if ((0 == (3 & (RSvalS)))) {
  2315.             index_193X = (((RSvalS))>>2);
  2316.             len_194X = -1 + ((long)(((unsigned long)(*((long *) (-7 + arg2_101X))))>>8));
  2317.             if ((index_193X < 0)) {
  2318.               goto L21613;}
  2319.             else {
  2320.               if ((index_193X < len_194X)) {
  2321.                 RSvalS = (9 + (((((long)((((long)(*((unsigned char *) ((-3 + arg2_101X) + index_193X))))))))<<8)));
  2322.                 goto START;}
  2323.               else {
  2324.                 goto L21613;}}}
  2325.           else {
  2326.             goto L21618;}}
  2327.         else {
  2328.           goto L21618;}}
  2329.       else {
  2330.         goto L21618;}}
  2331.       break;
  2332.     case 98 : {
  2333.       RSstackS = (4 + (RSstackS));
  2334.       arg2_188X = *((long *) (RSstackS));
  2335.       RSstackS = (4 + (RSstackS));
  2336.       arg3_189X = *((long *) (RSstackS));
  2337.       if ((3 == (3 & arg3_189X))) {
  2338.         if ((15 == (31 & ((((*((long *) (-7 + arg3_189X))))>>2))))) {
  2339.           if ((0 == (3 & arg2_188X))) {
  2340.             if ((9 == (255 & (RSvalS)))) {
  2341.               Kchar_190X = ((((RSvalS))>>8));
  2342.               index_191X = ((arg2_188X)>>2);
  2343.               len_192X = -1 + ((long)(((unsigned long)(*((long *) (-7 + arg3_189X))))>>8));
  2344.               if ((index_191X < 0)) {
  2345.                 goto L24497;}
  2346.               else {
  2347.                 if ((index_191X < len_192X)) {
  2348.                   *((unsigned char *) ((-3 + arg3_189X) + index_191X)) = ((unsigned char)((long)(Kchar_190X)));
  2349.                   RSvalS = 13;
  2350.                   goto START;}
  2351.                 else {
  2352.                   goto L24497;}}}
  2353.             else {
  2354.               goto L24504;}}
  2355.           else {
  2356.             goto L24504;}}
  2357.         else {
  2358.           goto L24504;}}
  2359.       else {
  2360.         goto L24504;}}
  2361.       break;
  2362.     case 99 : {
  2363.       obj_104X = RSvalS;
  2364.       if ((3 == (3 & obj_104X))) {
  2365.         if ((4 == (31 & ((((*((long *) (-7 + obj_104X))))>>2))))) {
  2366.           x_103X = RSvalS;
  2367.           descriptor_102X = *((long *) (-3 + x_103X));
  2368.           if ((17 == (255 & descriptor_102X))) {
  2369.             if ((529 == (*((long *) (-3 + x_103X))))) {
  2370.               arg0K0 = 5;
  2371.               goto L18264;}
  2372.             else {
  2373.               arg0K0 = 1;
  2374.               goto L18264;}}
  2375.           else {
  2376.             arg0K0 = 5;
  2377.             goto L18264;}}
  2378.         else {
  2379.           goto L18255;}}
  2380.       else {
  2381.         goto L18255;}}
  2382.       break;
  2383.     case 100 : {
  2384.       RSstackS = (4 + (RSstackS));
  2385.       arg2_186X = *((long *) (RSstackS));
  2386.       if ((3 == (3 & arg2_186X))) {
  2387.         if ((4 == (31 & ((((*((long *) (-7 + arg2_186X))))>>2))))) {
  2388.           x_187X = RSvalS;
  2389.           if ((1 == x_187X)) {
  2390.             goto L21413;}
  2391.           else {
  2392.             if ((5 == x_187X)) {
  2393.               goto L21413;}
  2394.             else {
  2395.               goto L21441;}}}
  2396.         else {
  2397.           goto L21441;}}
  2398.       else {
  2399.         goto L21441;}}
  2400.       break;
  2401.     case 101 : {
  2402.       x_105X = RSvalS;
  2403.       if ((3 == (3 & x_105X))) {
  2404.         if ((0 == (128 & (*((long *) (-7 + x_105X)))))) {
  2405.           arg0K0 = 1;
  2406.           goto L30876;}
  2407.         else {
  2408.           arg0K0 = 5;
  2409.           goto L30876;}}
  2410.       else {
  2411.         arg0K0 = 5;
  2412.         goto L30876;}}
  2413.       break;
  2414.     case 102 : {
  2415.       x_185X = RSvalS;
  2416.       if ((3 == (3 & x_185X))) {
  2417.         if ((0 == (128 & (*((long *) (-7 + x_185X)))))) {
  2418.           *((long *) (-7 + x_185X)) = (128 | (*((long *) (-7 + x_185X))));
  2419.           goto L30891;}
  2420.         else {
  2421.           goto L30891;}}
  2422.       else {
  2423.         goto L30891;}}
  2424.       break;
  2425.     case 103 : {
  2426.       if (((20 + (ShpS)) < (SlimitS))) {
  2427.         arg1K0 = 0;
  2428.         goto L21131;}
  2429.       else {
  2430.         merged_arg1K0 = 0;
  2431.         collect_saving_temp_return_tag = 8;
  2432.         goto collect_saving_temp;
  2433.        collect_saving_temp_return_8:
  2434.         if (((20 + (ShpS)) < (SlimitS))) {
  2435.           arg1K0 = 0;
  2436.           goto L21131;}
  2437.         else {
  2438.           TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  2439.           arg1K0 = 0;
  2440.           goto L21131;}}}
  2441.       break;
  2442.     case 104 : {
  2443.       obj_184X = RSvalS;
  2444.       if ((3 == (3 & obj_184X))) {
  2445.         if ((5 == (31 & ((((*((long *) (-7 + obj_184X))))>>2))))) {
  2446.           merged_arg1K0 = (RSvalS);
  2447.           close_port_return_tag = 0;
  2448.           goto close_port;
  2449.          close_port_return_0:
  2450.           RSvalS = 13;
  2451.           goto START;}
  2452.         else {
  2453.           goto L30912;}}
  2454.       else {
  2455.         goto L30912;}}
  2456.       break;
  2457.     case 105 : {
  2458.       x_183X = RSvalS;
  2459.       if ((3 == (3 & x_183X))) {
  2460.         if ((5 == (31 & ((((*((long *) (-7 + x_183X))))>>2))))) {
  2461.           if ((4 == (*((long *) (-3 + x_183X))))) {
  2462.             arg0K0 = 5;
  2463.             goto L30934;}
  2464.           else {
  2465.             arg0K0 = 1;
  2466.             goto L30934;}}
  2467.         else {
  2468.           arg0K0 = 1;
  2469.           goto L30934;}}
  2470.       else {
  2471.         arg0K0 = 1;
  2472.         goto L30934;}}
  2473.       break;
  2474.     case 106 : {
  2475.       x_182X = RSvalS;
  2476.       if ((3 == (3 & x_182X))) {
  2477.         if ((5 == (31 & ((((*((long *) (-7 + x_182X))))>>2))))) {
  2478.           if ((8 == (*((long *) (-3 + x_182X))))) {
  2479.             arg0K0 = 5;
  2480.             goto L30952;}
  2481.           else {
  2482.             arg0K0 = 1;
  2483.             goto L30952;}}
  2484.         else {
  2485.           arg0K0 = 1;
  2486.           goto L30952;}}
  2487.       else {
  2488.         arg0K0 = 1;
  2489.         goto L30952;}}
  2490.       break;
  2491.     case 107 : {
  2492.       p_106X = RSvalS;
  2493.       if ((3 == (3 & p_106X))) {
  2494.         if ((5 == (31 & ((((*((long *) (-7 + p_106X))))>>2))))) {
  2495.           if ((4 == (*((long *) (-3 + p_106X))))) {
  2496.             if (((*((long *) (1 + p_106X))) < 0)) {
  2497.               goto L17836;}
  2498.             else {
  2499.               x_179X = RSvalS;
  2500.               c_180X = *((long *) (5 + x_179X));
  2501.               if ((1 == c_180X)) {
  2502.                 { int TTchar;
  2503.                   PS_GETC((*((Sopen_portsS) + ((((*((long *) (1 + x_179X))))>>2)))), TTchar);
  2504.                   if (EOF == TTchar) {
  2505.                     arg1K0 = 21;
  2506.                     goto L17833;}
  2507.                   else {
  2508.                     unsigned char Kchar_181X = TTchar;
  2509.                     arg1K0 = (9 + (((((long)(Kchar_181X)))<<8)));
  2510.                     goto L17833;}}}
  2511.               else {
  2512.                 *((long *) (5 + x_179X)) = 1;
  2513.                 arg1K0 = c_180X;
  2514.                 goto L17833;}}}
  2515.           else {
  2516.             goto L17836;}}
  2517.         else {
  2518.           goto L17836;}}
  2519.       else {
  2520.         goto L17836;}}
  2521.       break;
  2522.     case 108 : {
  2523.       p_177X = RSvalS;
  2524.       if ((3 == (3 & p_177X))) {
  2525.         if ((5 == (31 & ((((*((long *) (-7 + p_177X))))>>2))))) {
  2526.           if ((4 == (*((long *) (-3 + p_177X))))) {
  2527.             if (((*((long *) (1 + p_177X))) < 0)) {
  2528.               goto L17718;}
  2529.             else {
  2530.               x_109X = RSvalS;
  2531.               c_108X = *((long *) (5 + x_109X));
  2532.               if ((1 == c_108X)) {
  2533.                 v_178X = *((Sopen_portsS) + ((((*((long *) (1 + x_109X))))>>2)));
  2534.                 { int TTchar;
  2535.                   PS_GETC(v_178X, TTchar);
  2536.                   if (EOF == TTchar) {
  2537.                     arg1K0 = 21;
  2538.                     goto L17710;}
  2539.                   else {
  2540.                     unsigned char Kchar_107X = TTchar;
  2541.                     arg1K0 = (9 + (((((long)(Kchar_107X)))<<8)));
  2542.                     goto L17710;}}}
  2543.               else {
  2544.                 arg1K0 = c_108X;
  2545.                 goto L17715;}}}
  2546.           else {
  2547.             goto L17718;}}
  2548.         else {
  2549.           goto L17718;}}
  2550.       else {
  2551.         goto L17718;}}
  2552.       break;
  2553.     case 109 : {
  2554.       p_111X = RSvalS;
  2555.       if ((3 == (3 & p_111X))) {
  2556.         if ((5 == (31 & ((((*((long *) (-7 + p_111X))))>>2))))) {
  2557.           if ((4 == (*((long *) (-3 + p_111X))))) {
  2558.             if (((*((long *) (1 + p_111X))) < 0)) {
  2559.               goto L17565;}
  2560.             else {
  2561.               x_175X = RSvalS;
  2562.               x_176X = *((long *) (5 + x_175X));
  2563.               if ((1 == x_176X)) {
  2564.                 b_110X = char_ready_p((*((Sopen_portsS) + ((((*((long *) (1 + x_175X))))>>2)))));
  2565.                 if (b_110X) {
  2566.                   arg0K0 = 5;
  2567.                   goto L17562;}
  2568.                 else {
  2569.                   arg0K0 = 1;
  2570.                   goto L17562;}}
  2571.               else {
  2572.                 arg0K0 = 5;
  2573.                 goto L17562;}}}
  2574.           else {
  2575.             goto L17565;}}
  2576.         else {
  2577.           goto L17565;}}
  2578.       else {
  2579.         goto L17565;}}
  2580.       break;
  2581.     case 110 : {
  2582.       RSstackS = (4 + (RSstackS));
  2583.       arg2_112X = *((long *) (RSstackS));
  2584.       if ((9 == (255 & arg2_112X))) {
  2585.         p_174X = RSvalS;
  2586.         if ((3 == (3 & p_174X))) {
  2587.           if ((5 == (31 & ((((*((long *) (-7 + p_174X))))>>2))))) {
  2588.             if ((8 == (*((long *) (-3 + p_174X))))) {
  2589.               if (((*((long *) (1 + p_174X))) < 0)) {
  2590.                 goto L21040;}
  2591.               else {
  2592.                 putc(((((arg2_112X)>>8))), (*((Sopen_portsS) + ((((*((long *) (1 + (RSvalS)))))>>2)))));
  2593.                 RSvalS = 13;
  2594.                 goto START;}}
  2595.             else {
  2596.               goto L21040;}}
  2597.           else {
  2598.             goto L21040;}}
  2599.         else {
  2600.           goto L21040;}}
  2601.       else {
  2602.         goto L21040;}}
  2603.       break;
  2604.     case 111 : {
  2605.       RSstackS = (4 + (RSstackS));
  2606.       arg2_172X = *((long *) (RSstackS));
  2607.       if ((3 == (3 & arg2_172X))) {
  2608.         if ((15 == (31 & ((((*((long *) (-7 + arg2_172X))))>>2))))) {
  2609.           p_173X = RSvalS;
  2610.           if ((3 == (3 & p_173X))) {
  2611.             if ((5 == (31 & ((((*((long *) (-7 + p_173X))))>>2))))) {
  2612.               if ((8 == (*((long *) (-3 + p_173X))))) {
  2613.                 if (((*((long *) (1 + p_173X))) < 0)) {
  2614.                   goto L20904;}
  2615.                 else {
  2616.                   fwrite((void *)(-3 + arg2_172X), sizeof(char), (-1 + ((long)(((unsigned long)(*((long *) (-7 + arg2_172X))))>>8))), (*((Sopen_portsS) + ((((*((long *) (1 + (RSvalS)))))>>2)))));
  2617.                   RSvalS = 13;
  2618.                   goto START;}}
  2619.               else {
  2620.                 goto L20904;}}
  2621.             else {
  2622.               goto L20904;}}
  2623.           else {
  2624.             goto L20904;}}
  2625.         else {
  2626.           goto L20904;}}
  2627.       else {
  2628.         goto L20904;}}
  2629.       break;
  2630.     case 112 : {
  2631.       p_113X = RSvalS;
  2632.       if ((3 == (3 & p_113X))) {
  2633.         if ((5 == (31 & ((((*((long *) (-7 + p_113X))))>>2))))) {
  2634.           if ((8 == (*((long *) (-3 + p_113X))))) {
  2635.             if (((*((long *) (1 + p_113X))) < 0)) {
  2636.               goto L17473;}
  2637.             else {
  2638.               fflush((*((Sopen_portsS) + ((((*((long *) (1 + (RSvalS)))))>>2)))));
  2639.               RSvalS = 13;
  2640.               goto START;}}
  2641.           else {
  2642.             goto L17473;}}
  2643.         else {
  2644.           goto L17473;}}
  2645.       else {
  2646.         goto L17473;}}
  2647.       break;
  2648.     case 113 : {
  2649.       RSvalS = 529;
  2650.       goto START;}
  2651.       break;
  2652.     case 114 : {
  2653.       RSvalS = 13;
  2654.       goto START;}
  2655.       break;
  2656.     case 115 : {
  2657.       merged_arg0K0 = 0;
  2658.       merged_arg1K1 = (RSvalS);
  2659.       goto raise_exception1;}
  2660.       break;
  2661.     case 116 : {
  2662.       RSvalS = 1;
  2663.       goto START;}
  2664.       break;
  2665.     case 117 : {
  2666.       RSstackS = (4 + (RSstackS));
  2667.       arg2_163X = *((long *) (RSstackS));
  2668.       RSstackS = (4 + (RSstackS));
  2669.       arg3_164X = *((long *) (RSstackS));
  2670.       if ((3 == (3 & arg3_164X))) {
  2671.         if ((15 == (31 & ((((*((long *) (-7 + arg3_164X))))>>2))))) {
  2672.           obj_165X = RSvalS;
  2673.           if ((3 == (3 & obj_165X))) {
  2674.             if ((15 == (31 & ((((*((long *) (-7 + obj_165X))))>>2))))) {
  2675.               x_166X = RSvalS;
  2676.               if ((0 == ((long)(Spure_area_countS)))) {
  2677.                 if ((0 == ((long)(Simpure_area_countS)))) {
  2678.                   merged_arg1K0 = arg3_164X;
  2679.                   extract_string_return_tag = 0;
  2680.                   goto extract_string;
  2681.                  extract_string_return_0:
  2682.                   spec_167X = extract_string_return_value;
  2683.                   port_168X = ps_open(spec_167X, "w");
  2684.                   if ((NULL == port_168X)) {
  2685.                     merged_arg0K0 = 0;
  2686.                     merged_arg1K1 = arg3_164X;
  2687.                     merged_arg1K2 = arg2_163X;
  2688.                     goto raise_exception2;}
  2689.                   else {
  2690.                     fwrite((void *)(-3 + x_166X), sizeof(char), (-1 + ((long)(((unsigned long)(*((long *) (-7 + x_166X))))>>8))), port_168X);
  2691.                     b_169X = Snewspace_beginS;
  2692.                     Snewspace_beginS = (Soldspace_beginS);
  2693.                     Soldspace_beginS = b_169X;
  2694.                     e_170X = Snewspace_endS;
  2695.                     Snewspace_endS = (Soldspace_endS);
  2696.                     Soldspace_endS = e_170X;
  2697.                     Ssaved_limitS = (SlimitS);
  2698.                     Ssaved_hpS = (ShpS);
  2699.                     SlimitS = (Snewspace_endS);
  2700.                     ShpS = (Snewspace_beginS);
  2701.                     Sweak_pointer_hpS = -1;
  2702.                     if ((3 == (3 & arg2_163X))) {
  2703.                       a_114X = -3 + arg2_163X;
  2704.                       if ((a_114X < (Soldspace_beginS))) {
  2705.                         arg1K0 = arg2_163X;
  2706.                         goto L28742;}
  2707.                       else {
  2708.                         if ((a_114X < (Soldspace_endS))) {
  2709.                           merged_arg1K0 = arg2_163X;
  2710.                           copy_object_return_tag = 0;
  2711.                           goto copy_object;
  2712.                          copy_object_return_0:
  2713.                           v_171X = copy_object_return_value;
  2714.                           arg1K0 = v_171X;
  2715.                           goto L28742;}
  2716.                         else {
  2717.                           arg1K0 = arg2_163X;
  2718.                           goto L28742;}}}
  2719.                     else {
  2720.                       arg1K0 = arg2_163X;
  2721.                       goto L28742;}}}
  2722.                 else {
  2723.                   goto L28827;}}
  2724.               else {
  2725.                 goto L28827;}}
  2726.             else {
  2727.               goto L28758;}}
  2728.           else {
  2729.             goto L28758;}}
  2730.         else {
  2731.           goto L28758;}}
  2732.       else {
  2733.         goto L28758;}}
  2734.       break;
  2735.     case 118 : {
  2736.       RSvalS = 13;
  2737.       merged_arg1K0 = 0;
  2738.       collect_saving_temp_return_tag = 9;
  2739.       goto collect_saving_temp;
  2740.      collect_saving_temp_return_9:
  2741.       RSvalS = 13;
  2742.       goto START;}
  2743.       break;
  2744.     case 119 : {
  2745.       RSstackS = (4 + (RSstackS));
  2746.       arg2_116X = *((long *) (RSstackS));
  2747.       if ((0 == (3 & arg2_116X))) {
  2748.         x_161X = RSvalS;
  2749.         key_162X = ((arg2_116X)>>2);
  2750.         if ((0 == key_162X)) {
  2751.           RSvalS = (-4 & ((SlimitS) - (ShpS)));
  2752.           goto START;}
  2753.         else {
  2754.           if ((1 == key_162X)) {
  2755.             RSvalS = (-4 & (3 + ((Snewspace_endS) - (Snewspace_beginS))));
  2756.             goto START;}
  2757.           else {
  2758.             if ((2 == key_162X)) {
  2759.               RSvalS = (((((Sstack_endS) - (Sstack_beginS)))<<2));
  2760.               goto START;}
  2761.             else {
  2762.               if ((3 == key_162X)) {
  2763.                 if ((0 == (3 & x_161X))) {
  2764.                   old_115X = Sminimum_recovered_spaceS;
  2765.                   Sminimum_recovered_spaceS = (((x_161X)>>2));
  2766.                   RSvalS = (((old_115X)<<2));
  2767.                   goto START;}
  2768.                 else {
  2769.                   merged_arg0K0 = 0;
  2770.                   merged_arg1K1 = (((key_162X)<<2));
  2771.                   merged_arg1K2 = x_161X;
  2772.                   goto raise_exception2;}}
  2773.               else {
  2774.                 if ((4 == key_162X)) {
  2775.                   RSvalS = ((((Sgc_countS))<<2));
  2776.                   goto START;}
  2777.                 else {
  2778.                   merged_arg0K0 = 0;
  2779.                   merged_arg1K1 = (((key_162X)<<2));
  2780.                   merged_arg1K2 = x_161X;
  2781.                   goto raise_exception2;}}}}}}
  2782.       else {
  2783.         merged_arg0K0 = 0;
  2784.         merged_arg1K1 = arg2_116X;
  2785.         merged_arg1K2 = (RSvalS);
  2786.         goto raise_exception2;}}
  2787.       break;
  2788.     case 120 : {
  2789.       obj_120X = RSvalS;
  2790.       if ((3 == (3 & obj_120X))) {
  2791.         if ((2 == (31 & ((((*((long *) (-7 + obj_120X))))>>2))))) {
  2792.           x_119X = RSvalS;
  2793.           start_hp_118X = ShpS;
  2794.           SvalS = RSvalS;
  2795.           SstackS = RSstackS;
  2796.           Scode_pointerS = RScode_pointerS;
  2797.           SenvS = RSenvS;
  2798.           v_117X = hoistD1((Snewspace_beginS), (ShpS), x_119X);
  2799.           RSvalS = SvalS;
  2800.           RSstackS = SstackS;
  2801.           RScode_pointerS = Scode_pointerS;
  2802.           RSenvS = SenvS;
  2803.           if (v_117X) {
  2804.             areas_158X = Spure_areasS;
  2805.             sizes_159X = Spure_sizesS;
  2806.             count_160X = Spure_area_countS;
  2807.             arg1K0 = 0;
  2808.             goto L17365;}
  2809.           else {
  2810.             goto L17350;}}
  2811.         else {
  2812.           goto L17297;}}
  2813.       else {
  2814.         goto L17297;}}
  2815.       break;
  2816.     case 121 : {
  2817.       if ((0 == (3 & (RSvalS)))) {
  2818.         type_123X = (((RSvalS))>>2);
  2819.         start_hp_122X = ShpS;
  2820.         *((long *) (ShpS)) = 0;
  2821.         ShpS = (4 + (ShpS));
  2822.         SvalS = RSvalS;
  2823.         SstackS = RSstackS;
  2824.         Scode_pointerS = RScode_pointerS;
  2825.         SenvS = RSenvS;
  2826.         v_121X = hoistD0((Snewspace_beginS), start_hp_122X, type_123X);
  2827.         RSvalS = SvalS;
  2828.         RSstackS = SstackS;
  2829.         RScode_pointerS = Scode_pointerS;
  2830.         RSenvS = SenvS;
  2831.         if (v_121X) {
  2832.           areas_155X = Simpure_areasS;
  2833.           sizes_156X = Simpure_sizesS;
  2834.           count_157X = Simpure_area_countS;
  2835.           arg1K0 = 0;
  2836.           goto L10089;}
  2837.         else {
  2838.           goto L10027;}}
  2839.       else {
  2840.         merged_arg0K0 = 0;
  2841.         merged_arg1K1 = (RSvalS);
  2842.         goto raise_exception1;}}
  2843.       break;
  2844.     case 122 : {
  2845.       RSvalS = (Sdynamic_stateS);
  2846.       goto START;}
  2847.       break;
  2848.     case 123 : {
  2849.       Sdynamic_stateS = (RSvalS);
  2850.       RSvalS = 13;
  2851.       goto START;}
  2852.       break;
  2853.     case 124 : {
  2854.       obj_124X = RSvalS;
  2855.       if ((3 == (3 & obj_124X))) {
  2856.         if ((3 == (31 & ((((*((long *) (-7 + obj_124X))))>>2))))) {
  2857.           Sexception_handlerS = (RSvalS);
  2858.           goto START;}
  2859.         else {
  2860.           goto L31073;}}
  2861.       else {
  2862.         goto L31073;}}
  2863.       break;
  2864.     case 125 : {
  2865.       obj_125X = RSvalS;
  2866.       if ((3 == (3 & obj_125X))) {
  2867.         if ((2 == (31 & ((((*((long *) (-7 + obj_125X))))>>2))))) {
  2868.           if ((((((3 + ((long)(((unsigned long)(*((long *) (-7 + (RSvalS)))))>>8))))>>2)) < 3)) {
  2869.             goto L31092;}
  2870.           else {
  2871.             Sinterrupt_handlersS = (RSvalS);
  2872.             goto START;}}
  2873.         else {
  2874.           goto L31092;}}
  2875.       else {
  2876.         goto L31092;}}
  2877.       break;
  2878.     case 126 : {
  2879.       temp_154X = Senabled_interruptsS;
  2880.       Senabled_interruptsS = ((((RSvalS))>>2));
  2881.       RSvalS = (((temp_154X)<<2));
  2882.       goto START;}
  2883.       break;
  2884.     case 127 : {
  2885.       RSstackS = (4 + (RSstackS));
  2886.       Senabled_interruptsS = ((((*((long *) (RSstackS))))>>2));
  2887.       RSstackS = (4 + (RSstackS));
  2888.       SnargsS = ((((*((long *) (RSstackS))))>>2));
  2889.       RSstackS = (4 + (RSstackS));
  2890.       RSenvS = (*((long *) (RSstackS)));
  2891.       RSstackS = (4 + (RSstackS));
  2892.       tem_126X = *((long *) (RSstackS));
  2893.       StemplateS = tem_126X;
  2894.       RScode_pointerS = (-3 + (*((long *) (-3 + tem_126X))));
  2895.       RSstackS = (4 + (RSstackS));
  2896.       RSvalS = (*((long *) (RSstackS)));
  2897.       goto START;}
  2898.       break;
  2899.     case 128 : {
  2900.       if ((0 == (3 & (RSvalS)))) {
  2901.         p_152X = RSvalS;
  2902.         Spending_interruptsS = (-2 & (Spending_interruptsS));
  2903.         SvalS = RSvalS;
  2904.         SstackS = RSstackS;
  2905.         Scode_pointerS = RScode_pointerS;
  2906.         SenvS = RSenvS;
  2907.         n_153X = ps_schedule_interrupt((((p_152X)>>2)));
  2908.         RSvalS = SvalS;
  2909.         RSstackS = SstackS;
  2910.         RScode_pointerS = Scode_pointerS;
  2911.         RSenvS = SenvS;
  2912.         RSvalS = (((n_153X)<<2));
  2913.         goto START;}
  2914.       else {
  2915.         merged_arg0K0 = 0;
  2916.         merged_arg1K1 = (RSvalS);
  2917.         goto raise_exception1;}}
  2918.       break;
  2919.     case 129 : {
  2920.       obj_131X = RSvalS;
  2921.       if ((3 == (3 & obj_131X))) {
  2922.         if ((12 == (31 & ((((*((long *) (-7 + obj_131X))))>>2))))) {
  2923.           x_130X = RSvalS;
  2924.           value_129X = *((long *) (1 + x_130X));
  2925.           name_128X = *((long *) (-3 + x_130X));
  2926.           if ((3 == (3 & name_128X))) {
  2927.             if ((15 == (31 & ((((*((long *) (-7 + name_128X))))>>2))))) {
  2928.               if ((3 == (3 & value_129X))) {
  2929.                 if ((16 == (31 & ((((*((long *) (-7 + value_129X))))>>2))))) {
  2930.                   SvalS = RSvalS;
  2931.                   SstackS = RSstackS;
  2932.                   Scode_pointerS = RScode_pointerS;
  2933.                   SenvS = RSenvS;
  2934.                   v_127X = lookup_external_name((-3 + name_128X), (-3 + value_129X));
  2935.                   RSvalS = SvalS;
  2936.                   RSstackS = SstackS;
  2937.                   RScode_pointerS = Scode_pointerS;
  2938.                   RSenvS = SenvS;
  2939.                   if (v_127X) {
  2940.                     RSvalS = 13;
  2941.                     goto START;}
  2942.                   else {
  2943.                     goto L16974;}}
  2944.                 else {
  2945.                   goto L16974;}}
  2946.               else {
  2947.                 goto L16974;}}
  2948.             else {
  2949.               goto L16974;}}
  2950.           else {
  2951.             goto L16974;}}
  2952.         else {
  2953.           goto L16977;}}
  2954.       else {
  2955.         goto L16977;}}
  2956.       break;
  2957.     case 130 : {
  2958.       proc_151X = *((long *) ((RSstackS) + ((((SnargsS))<<2))));
  2959.       if ((3 == (3 & proc_151X))) {
  2960.         if ((12 == (31 & ((((*((long *) (-7 + proc_151X))))>>2))))) {
  2961.           SnargsS = (-1 + (SnargsS));
  2962.           RSvalS = proc_151X;
  2963.           SvalS = RSvalS;
  2964.           SstackS = RSstackS;
  2965.           Scode_pointerS = RScode_pointerS;
  2966.           SenvS = RSenvS;
  2967.           TTreturn_value = 1;
  2968.           return(0L);}
  2969.         else {
  2970.           goto L31145;}}
  2971.       else {
  2972.         goto L31145;}}
  2973.       break;
  2974.     case 131 : {
  2975.       RSstackS = (4 + (RSstackS));
  2976.       arg2_134X = *((long *) (RSstackS));
  2977.       if ((0 == (3 & arg2_134X))) {
  2978.         x_148X = RSvalS;
  2979.         key_149X = ((arg2_134X)>>2);
  2980.         if ((0 == key_149X)) {
  2981.           SvalS = RSvalS;
  2982.           SstackS = RSstackS;
  2983.           Scode_pointerS = RScode_pointerS;
  2984.           SenvS = RSenvS;
  2985.           n_132X = ps_ticks_per_second();
  2986.           RSvalS = SvalS;
  2987.           RSstackS = SstackS;
  2988.           RScode_pointerS = Scode_pointerS;
  2989.           RSenvS = SenvS;
  2990.           RSvalS = (((n_132X)<<2));
  2991.           goto START;}
  2992.         else {
  2993.           if ((1 == key_149X)) {
  2994.             SvalS = RSvalS;
  2995.             SstackS = RSstackS;
  2996.             Scode_pointerS = RScode_pointerS;
  2997.             SenvS = RSenvS;
  2998.             n_150X = ps_run_time();
  2999.             RSvalS = SvalS;
  3000.             RSstackS = SstackS;
  3001.             RScode_pointerS = Scode_pointerS;
  3002.             RSenvS = SenvS;
  3003.             RSvalS = (((n_150X)<<2));
  3004.             goto START;}
  3005.           else {
  3006.             if ((2 == key_149X)) {
  3007.               SvalS = RSvalS;
  3008.               SstackS = RSstackS;
  3009.               Scode_pointerS = RScode_pointerS;
  3010.               SenvS = RSenvS;
  3011.               n_133X = ps_real_time();
  3012.               RSvalS = SvalS;
  3013.               RSstackS = SstackS;
  3014.               RScode_pointerS = Scode_pointerS;
  3015.               RSenvS = SenvS;
  3016.               RSvalS = (((n_133X)<<2));
  3017.               goto START;}
  3018.             else {
  3019.               merged_arg0K0 = 0;
  3020.               merged_arg1K1 = (((key_149X)<<2));
  3021.               merged_arg1K2 = x_148X;
  3022.               goto raise_exception2;}}}}
  3023.       else {
  3024.         merged_arg0K0 = 0;
  3025.         merged_arg1K1 = arg2_134X;
  3026.         merged_arg1K2 = (RSvalS);
  3027.         goto raise_exception2;}}
  3028.       break;
  3029.     case 132 : {
  3030.       RSstackS = (4 + (RSstackS));
  3031.       arg2_147X = *((long *) (RSstackS));
  3032.       if ((0 == (3 & arg2_147X))) {
  3033.         x_137X = RSvalS;
  3034.         key_136X = ((arg2_147X)>>2);
  3035.         SvalS = RSvalS;
  3036.         SstackS = RSstackS;
  3037.         Scode_pointerS = RScode_pointerS;
  3038.         SenvS = RSenvS;
  3039.         return_value_135X = extended_vm(key_136X, x_137X);
  3040.         RSvalS = SvalS;
  3041.         RSstackS = SstackS;
  3042.         RScode_pointerS = Scode_pointerS;
  3043.         RSenvS = SenvS;
  3044.         if ((17 == (255 & return_value_135X))) {
  3045.           merged_arg0K0 = 0;
  3046.           merged_arg1K1 = (((key_136X)<<2));
  3047.           merged_arg1K2 = x_137X;
  3048.           goto raise_exception2;}
  3049.         else {
  3050.           RSvalS = return_value_135X;
  3051.           goto START;}}
  3052.       else {
  3053.         merged_arg0K0 = 0;
  3054.         merged_arg1K1 = arg2_147X;
  3055.         merged_arg1K2 = (RSvalS);
  3056.         goto raise_exception2;}}
  3057.       break;
  3058.     case 133 : {
  3059.       RSstackS = (4 + (RSstackS));
  3060.       arg2_146X = *((long *) (RSstackS));
  3061.       if ((0 == (3 & arg2_146X))) {
  3062.         RSvalS = (RSvalS);
  3063.         SvalS = RSvalS;
  3064.         SstackS = RSstackS;
  3065.         Scode_pointerS = RScode_pointerS;
  3066.         SenvS = RSenvS;
  3067.         TTreturn_value = 0;
  3068.         return(0L);}
  3069.       else {
  3070.         merged_arg0K0 = 0;
  3071.         merged_arg1K1 = arg2_146X;
  3072.         merged_arg1K2 = (RSvalS);
  3073.         goto raise_exception2;}}
  3074.       break;
  3075.     case 134 : {
  3076.       RSstackS = (4 + (RSstackS));
  3077.       arg2_143X = *((long *) (RSstackS));
  3078.       if ((3 == (3 & arg2_143X))) {
  3079.         if ((15 == (31 & ((((*((long *) (-7 + arg2_143X))))>>2))))) {
  3080.           obj_144X = RSvalS;
  3081.           if ((3 == (3 & obj_144X))) {
  3082.             if ((15 == (31 & ((((*((long *) (-7 + obj_144X))))>>2))))) {
  3083.               merged_arg1K0 = arg2_143X;
  3084.               merged_arg1K1 = (RSvalS);
  3085.               stob_equalP_return_tag = 0;
  3086.               goto stob_equalP;
  3087.              stob_equalP_return_0:
  3088.               x_145X = stob_equalP_return_value;
  3089.               if (x_145X) {
  3090.                 arg0K0 = 5;
  3091.                 goto L20298;}
  3092.               else {
  3093.                 arg0K0 = 1;
  3094.                 goto L20298;}}
  3095.             else {
  3096.               goto L20289;}}
  3097.           else {
  3098.             goto L20289;}}
  3099.         else {
  3100.           goto L20289;}}
  3101.       else {
  3102.         goto L20289;}}
  3103.       break;
  3104.     case 135 : {
  3105.       obj_140X = RSvalS;
  3106.       if ((3 == (3 & obj_140X))) {
  3107.         if ((15 == (31 & ((((*((long *) (-7 + obj_140X))))>>2))))) {
  3108.           x_139X = RSvalS;
  3109.           n_138X = -1 + ((long)(((unsigned long)(*((long *) (-7 + x_139X))))>>8));
  3110.           arg1K0 = 0;
  3111.           arg1K1 = 0;
  3112.           goto L16824;}
  3113.         else {
  3114.           goto L16802;}}
  3115.       else {
  3116.         goto L16802;}}
  3117.       break;
  3118.     case 136 : {
  3119.       space_142X = 1 + ((((4 + (RSvalS)))>>2));
  3120.       if ((((ShpS) + (((space_142X)<<2))) < (SlimitS))) {
  3121.         goto L20018;}
  3122.       else {
  3123.         merged_arg1K0 = 0;
  3124.         collect_saving_temp_return_tag = 10;
  3125.         goto collect_saving_temp;
  3126.        collect_saving_temp_return_10:
  3127.         if ((((ShpS) + (((space_142X)<<2))) < (SlimitS))) {
  3128.           goto L20018;}
  3129.         else {
  3130.           TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  3131.           goto L20018;}}}
  3132.       break;
  3133.     case 137 : {
  3134.       if (((20 + (ShpS)) < (SlimitS))) {
  3135.         goto L19900;}
  3136.       else {
  3137.         merged_arg1K0 = 0;
  3138.         collect_saving_temp_return_tag = 11;
  3139.         goto collect_saving_temp;
  3140.        collect_saving_temp_return_11:
  3141.         if (((20 + (ShpS)) < (SlimitS))) {
  3142.           goto L19900;}
  3143.         else {
  3144.           TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  3145.           goto L19900;}}}
  3146.       break;
  3147.   }}
  3148.  L31042: {
  3149.   vector_272X = arg1K0;
  3150.   if ((1 == vector_272X)) {
  3151.     merged_arg0K0 = 0;
  3152.     merged_arg1K1 = (((type_123X)<<2));
  3153.     goto raise_exception1;}
  3154.   else {
  3155.     RSvalS = vector_272X;
  3156.     goto START;}}
  3157.  L10027: {
  3158.   ShpS = start_hp_122X;
  3159.   arg1K0 = 1;
  3160.   goto L31042;}
  3161.  L10089: {
  3162.   i_273X = arg1K0;
  3163.   if ((i_273X < ((long)count_157X))) {
  3164.     SvalS = RSvalS;
  3165.     SstackS = RSstackS;
  3166.     Scode_pointerS = RScode_pointerS;
  3167.     SenvS = RSenvS;
  3168.     v_274X = hoistD0((*(areas_155X + i_273X)), ((*(areas_155X + i_273X)) + (*(sizes_156X + i_273X))), type_123X);
  3169.     RSvalS = SvalS;
  3170.     RSstackS = SstackS;
  3171.     RScode_pointerS = Scode_pointerS;
  3172.     RSenvS = SenvS;
  3173.     if (v_274X) {
  3174.       arg1K0 = (1 + i_273X);
  3175.       goto L10089;}
  3176.     else {
  3177.       goto L10027;}}
  3178.   else {
  3179.     areas_275X = Spure_areasS;
  3180.     sizes_276X = Spure_sizesS;
  3181.     count_277X = Spure_area_countS;
  3182.     arg1K0 = 0;
  3183.     goto L10068;}}
  3184.  L10068: {
  3185.   i_278X = arg1K0;
  3186.   if ((i_278X < ((long)count_277X))) {
  3187.     SvalS = RSvalS;
  3188.     SstackS = RSstackS;
  3189.     Scode_pointerS = RScode_pointerS;
  3190.     SenvS = RSenvS;
  3191.     v_279X = hoistD0((*(areas_275X + i_278X)), ((*(areas_275X + i_278X)) + (*(sizes_276X + i_278X))), type_123X);
  3192.     RSvalS = SvalS;
  3193.     RSstackS = SstackS;
  3194.     RScode_pointerS = Scode_pointerS;
  3195.     RSenvS = SenvS;
  3196.     if (v_279X) {
  3197.       arg1K0 = (1 + i_278X);
  3198.       goto L10068;}
  3199.     else {
  3200.       goto L10027;}}
  3201.   else {
  3202.     *((long *) start_hp_122X) = (-1014 + (((((ShpS) - start_hp_122X))<<8)));
  3203.     arg1K0 = (7 + start_hp_122X);
  3204.     goto L31042;}}
  3205.  L8859: {
  3206.   h_280X = arg1K0;
  3207.   arg1K0 = (4 + (addr_281X + (-4 & (3 + ((long)(((unsigned long)h_280X)>>8))))));
  3208.   goto L8837;}
  3209.  L8837: {
  3210.   addr_281X = arg1K0;
  3211.   if ((addr_281X < (ShpS))) {
  3212.     d_283X = *((long *) addr_281X);
  3213.     if ((2 == (3 & d_283X))) {
  3214.       arg1K0 = d_283X;
  3215.       goto L8859;}
  3216.     else {
  3217.       h_282X = *((long *) (-7 + d_283X));
  3218.       *((long *) addr_281X) = h_282X;
  3219.       arg1K0 = h_282X;
  3220.       goto L8859;}}
  3221.   else {
  3222.     RSvalS = (((size_318X)<<2));
  3223.     goto START;}}
  3224.  L13271: {
  3225.   sym_284X = arg1K0;
  3226.   if ((3 == (3 & sym_284X))) {
  3227.     if ((0 == (128 & (*((long *) (-7 + sym_284X)))))) {
  3228.       *((long *) (-7 + sym_284X)) = (128 | (*((long *) (-7 + sym_284X))));
  3229.       arg1K0 = sym_284X;
  3230.       goto L13213;}
  3231.     else {
  3232.       arg1K0 = sym_284X;
  3233.       goto L13213;}}
  3234.   else {
  3235.     arg1K0 = sym_284X;
  3236.     goto L13213;}}
  3237.  L28114: {
  3238.   v_285X = arg1K0;
  3239.   RSvalS = v_285X;
  3240.   goto START;}
  3241.  L19922: {
  3242.   val_286X = arg1K0;
  3243.   RSvalS = val_286X;
  3244.   goto START;}
  3245.  L13315: {
  3246.   i_287X = arg1K0;
  3247.   h_288X = arg1K1;
  3248.   if ((i_287X < n_304X)) {
  3249.     arg1K0 = (1 + i_287X);
  3250.     arg1K1 = (h_288X + ((long)((((long)(*((unsigned char *) ((-3 + arg2_300X) + i_287X))))))));
  3251.     goto L13315;}
  3252.   else {
  3253.     index_290X = h_288X & (-1 + v_303X);
  3254.     bucket_289X = *((long *) ((-3 + table_302X) + (((index_290X)<<2))));
  3255.     arg1K0 = bucket_289X;
  3256.     goto L13205;}}
  3257.  L13213: {
  3258.   new_291X = arg1K0;
  3259.   *((long *) (ShpS)) = 2050;
  3260.   ShpS = (4 + (ShpS));
  3261.   new_292X = 3 + (ShpS);
  3262.   ShpS = (8 + (ShpS));
  3263.   *((long *) (-4 + (ShpS))) = 0;
  3264.   *((long *) (-3 + new_292X)) = new_291X;
  3265.   *((long *) (1 + new_292X)) = bucket_289X;
  3266.   *((long *) ((-3 + table_302X) + (((index_290X)<<2)))) = new_292X;
  3267.   arg1K0 = new_291X;
  3268.   goto L19922;}
  3269.  L13205: {
  3270.   b_293X = arg1K0;
  3271.   if ((25 == b_293X)) {
  3272.     *((long *) (ShpS)) = 1030;
  3273.     ShpS = (4 + (ShpS));
  3274.     new_295X = 3 + (ShpS);
  3275.     ShpS = (4 + (ShpS));
  3276.     *((long *) (-4 + (ShpS))) = 0;
  3277.     *((long *) (-3 + new_295X)) = arg2_300X;
  3278.     if ((3 == (3 & new_295X))) {
  3279.       if ((0 == (128 & (*((long *) (-7 + new_295X)))))) {
  3280.         *((long *) (-7 + new_295X)) = (128 | (*((long *) (-7 + new_295X))));
  3281.         arg1K0 = new_295X;
  3282.         goto L13271;}
  3283.       else {
  3284.         arg1K0 = new_295X;
  3285.         goto L13271;}}
  3286.     else {
  3287.       arg1K0 = new_295X;
  3288.       goto L13271;}}
  3289.   else {
  3290.     merged_arg1K0 = arg2_300X;
  3291.     merged_arg1K1 = (*((long *) (-3 + (*((long *) (-3 + b_293X))))));
  3292.     stob_equalP_return_tag = 1;
  3293.     goto stob_equalP;
  3294.    stob_equalP_return_1:
  3295.     v_294X = stob_equalP_return_value;
  3296.     if (v_294X) {
  3297.       arg1K0 = (*((long *) (-3 + b_293X)));
  3298.       goto L19922;}
  3299.     else {
  3300.       arg1K0 = (*((long *) (1 + b_293X)));
  3301.       goto L13205;}}}
  3302.  L9754: {
  3303.   stob_296X = arg1K0;
  3304.   from_297X = 4 + (RSstackS);
  3305.   arg1K0 = from_297X;
  3306.   arg1K1 = (1 + stob_296X);
  3307.   goto L9793;}
  3308.  L9793: {
  3309.   from_298X = arg1K0;
  3310.   to_299X = arg1K1;
  3311.   if ((from_298X < (from_297X + (((((long)b_432X))<<2))))) {
  3312.     *((long *) to_299X) = (*((long *) from_298X));
  3313.     arg1K0 = (4 + from_298X);
  3314.     arg1K1 = (4 + to_299X);
  3315.     goto L9793;}
  3316.   else {
  3317.     RSstackS = ((RSstackS) - ((((0 - ((long)b_432X)))<<2)));
  3318.     *((long *) (-3 + stob_296X)) = (RSenvS);
  3319.     RSenvS = stob_296X;
  3320.     goto START;}}
  3321.  L19900: {
  3322.   RSstackS = (4 + (RSstackS));
  3323.   arg2_300X = *((long *) (RSstackS));
  3324.   if ((3 == (3 & arg2_300X))) {
  3325.     if ((15 == (31 & ((((*((long *) (-7 + arg2_300X))))>>2))))) {
  3326.       obj_301X = RSvalS;
  3327.       if ((3 == (3 & obj_301X))) {
  3328.         if ((2 == (31 & ((((*((long *) (-7 + obj_301X))))>>2))))) {
  3329.           table_302X = RSvalS;
  3330.           v_303X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + table_302X))))>>8))))>>2);
  3331.           n_304X = -1 + ((long)(((unsigned long)(*((long *) (-7 + arg2_300X))))>>8));
  3332.           arg1K0 = 0;
  3333.           arg1K1 = 0;
  3334.           goto L13315;}
  3335.         else {
  3336.           goto L19925;}}
  3337.       else {
  3338.         goto L19925;}}
  3339.     else {
  3340.       goto L19925;}}
  3341.   else {
  3342.     goto L19925;}}
  3343.  L19925: {
  3344.   merged_arg0K0 = 0;
  3345.   merged_arg1K1 = arg2_300X;
  3346.   merged_arg1K2 = (RSvalS);
  3347.   goto raise_exception2;}
  3348.  L20018: {
  3349.   RSstackS = (4 + (RSstackS));
  3350.   arg2_305X = *((long *) (RSstackS));
  3351.   if ((0 == (3 & (RSvalS)))) {
  3352.     n_306X = (((RSvalS))>>2);
  3353.     if ((3 == (3 & arg2_305X))) {
  3354.       if ((0 == (31 & ((((*((long *) (-7 + arg2_305X))))>>2))))) {
  3355.         goto L20144;}
  3356.       else {
  3357.         goto L20046;}}
  3358.     else {
  3359.       goto L20046;}}
  3360.   else {
  3361.     merged_arg0K0 = 0;
  3362.     merged_arg1K1 = arg2_305X;
  3363.     merged_arg1K2 = (RSvalS);
  3364.     goto raise_exception2;}}
  3365.  L20046: {
  3366.   if ((25 == arg2_305X)) {
  3367.     goto L20144;}
  3368.   else {
  3369.     merged_arg0K0 = 0;
  3370.     merged_arg1K1 = arg2_305X;
  3371.     merged_arg1K2 = (((n_306X)<<2));
  3372.     goto raise_exception2;}}
  3373.  L20144: {
  3374.   len_308X = 1 + n_306X;
  3375.   *((long *) (ShpS)) = (62 + (((len_308X)<<8)));
  3376.   ShpS = (4 + (ShpS));
  3377.   new_307X = 3 + (ShpS);
  3378.   ShpS = ((ShpS) + (-4 & (3 + len_308X)));
  3379.   if ((0 < len_308X)) {
  3380.     *((long *) (-4 + (ShpS))) = 0;
  3381.     arg1K0 = new_307X;
  3382.     goto L20063;}
  3383.   else {
  3384.     arg1K0 = new_307X;
  3385.     goto L20063;}}
  3386.  L20063: {
  3387.   obj_309X = arg1K0;
  3388.   arg1K0 = arg2_305X;
  3389.   arg1K1 = (-1 + n_306X);
  3390.   goto L20065;}
  3391.  L20065: {
  3392.   l_310X = arg1K0;
  3393.   i_311X = arg1K1;
  3394.   if ((i_311X < 0)) {
  3395.     RSvalS = obj_309X;
  3396.     goto START;}
  3397.   else {
  3398.     *((unsigned char *) ((-3 + obj_309X) + i_311X)) = ((unsigned char)((long)((((((*((long *) (-3 + l_310X))))>>8))))));
  3399.     arg1K0 = (*((long *) (1 + l_310X)));
  3400.     arg1K1 = (-1 + i_311X);
  3401.     goto L20065;}}
  3402.  L16802: {
  3403.   merged_arg0K0 = 0;
  3404.   merged_arg1K1 = (RSvalS);
  3405.   goto raise_exception1;}
  3406.  L16824: {
  3407.   i_312X = arg1K0;
  3408.   h_313X = arg1K1;
  3409.   if ((i_312X < n_138X)) {
  3410.     arg1K0 = (1 + i_312X);
  3411.     arg1K1 = (h_313X + ((long)((((long)(*((unsigned char *) ((-3 + x_139X) + i_312X))))))));
  3412.     goto L16824;}
  3413.   else {
  3414.     RSvalS = (((h_313X)<<2));
  3415.     goto START;}}
  3416.  L20289: {
  3417.   merged_arg0K0 = 0;
  3418.   merged_arg1K1 = arg2_143X;
  3419.   merged_arg1K2 = (RSvalS);
  3420.   goto raise_exception2;}
  3421.  L20298: {
  3422.   v_314X = arg0K0;
  3423.   RSvalS = ((long)v_314X);
  3424.   goto START;}
  3425.  L16977: {
  3426.   merged_arg0K0 = 0;
  3427.   merged_arg1K1 = (RSvalS);
  3428.   goto raise_exception1;}
  3429.  L16974: {
  3430.   merged_arg0K0 = 0;
  3431.   merged_arg1K1 = x_130X;
  3432.   goto raise_exception1;}
  3433.  L17297: {
  3434.   merged_arg0K0 = 0;
  3435.   merged_arg1K1 = (RSvalS);
  3436.   goto raise_exception1;}
  3437.  L17365: {
  3438.   i_315X = arg1K0;
  3439.   if ((i_315X < ((long)count_160X))) {
  3440.     SvalS = RSvalS;
  3441.     SstackS = RSstackS;
  3442.     Scode_pointerS = RScode_pointerS;
  3443.     SenvS = RSenvS;
  3444.     v_316X = hoistD1((*(areas_158X + i_315X)), ((*(areas_158X + i_315X)) + (*(sizes_159X + i_315X))), x_119X);
  3445.     RSvalS = SvalS;
  3446.     RSstackS = SstackS;
  3447.     RScode_pointerS = Scode_pointerS;
  3448.     RSenvS = SenvS;
  3449.     if (v_316X) {
  3450.       arg1K0 = (1 + i_315X);
  3451.       goto L17365;}
  3452.     else {
  3453.       goto L17350;}}
  3454.   else {
  3455.     RSvalS = 13;
  3456.     goto START;}}
  3457.  L17350: {
  3458.   ShpS = start_hp_118X;
  3459.   merged_arg0K0 = 0;
  3460.   goto raise_exception;}
  3461.  L28758: {
  3462.   merged_arg0K0 = 0;
  3463.   merged_arg1K1 = arg3_164X;
  3464.   merged_arg1K2 = arg2_163X;
  3465.   merged_arg1K3 = (RSvalS);
  3466.   goto raise_exception3;}
  3467.  L28827: {
  3468.   merged_arg0K0 = 0;
  3469.   merged_arg1K1 = arg3_164X;
  3470.   merged_arg1K2 = arg2_163X;
  3471.   goto raise_exception2;}
  3472.  L28742: {
  3473.   resume_proc_317X = arg1K0;
  3474.   SvalS = RSvalS;
  3475.   SstackS = RSstackS;
  3476.   Scode_pointerS = RScode_pointerS;
  3477.   SenvS = RSenvS;
  3478.   do_gc();
  3479.   RSvalS = SvalS;
  3480.   RSstackS = SstackS;
  3481.   RScode_pointerS = Scode_pointerS;
  3482.   RSenvS = SenvS;
  3483.   /* Do NOT put a call to the scsh I/O gc hook post_gc_fdports() here.
  3484.   ** This GC is not for real -- it's for writing images, and will be
  3485.   ** aborted. But the part of post_gc_fdports that updates the fdports[]
  3486.   ** elements to point into new-space *won't* be aborted, and oops, we're
  3487.   ** pointing into hyperspace. This whole thing is a mess; we need to port
  3488.   ** to a newer Scheme 48 release that gives us structured GC hooks.
  3489.   **     -Olin
  3490.   */
  3491.   close_untraced_portsB_return_tag = 0;
  3492.   goto close_untraced_portsB;
  3493.  close_untraced_portsB_return_0:
  3494.   fputs("This is a Scheme48 heap image file.", port_168X);
  3495.   putc(10, port_168X);
  3496.   putc(12, port_168X);
  3497.   putc(10, port_168X);
  3498.   merged_arg1K0 = 15;
  3499.   merged_arg2K1 = port_168X;
  3500.   write_number_return_tag = 0;
  3501.   goto write_number;
  3502.  write_number_return_0:
  3503.   merged_arg1K0 = 4;
  3504.   merged_arg2K1 = port_168X;
  3505.   write_number_return_tag = 1;
  3506.   goto write_number;
  3507.  write_number_return_1:
  3508.   merged_arg1K0 = ((((Snewspace_beginS))>>2));
  3509.   merged_arg2K1 = port_168X;
  3510.   write_number_return_tag = 2;
  3511.   goto write_number;
  3512.  write_number_return_2:
  3513.   merged_arg1K0 = ((((ShpS))>>2));
  3514.   merged_arg2K1 = port_168X;
  3515.   write_number_return_tag = 3;
  3516.   goto write_number;
  3517.  write_number_return_3:
  3518.   merged_arg1K0 = resume_proc_317X;
  3519.   merged_arg2K1 = port_168X;
  3520.   write_number_return_tag = 4;
  3521.   goto write_number;
  3522.  write_number_return_4:
  3523.   putc(12, port_168X);
  3524.   *((long *) (ShpS)) = 1;
  3525.   fwrite((void *)(ShpS), sizeof(char), ((4 + (ShpS)) - (ShpS)), port_168X);
  3526.   fwrite((void *)(Snewspace_beginS), sizeof(char), ((ShpS) - (Snewspace_beginS)), port_168X);
  3527.   size_318X = (ShpS) - (Snewspace_beginS);
  3528.   fclose(port_168X);
  3529.   b_319X = Snewspace_beginS;
  3530.   Snewspace_beginS = (Soldspace_beginS);
  3531.   Soldspace_beginS = b_319X;
  3532.   e_320X = Snewspace_endS;
  3533.   Snewspace_endS = (Soldspace_endS);
  3534.   Soldspace_endS = e_320X;
  3535.   SlimitS = (Ssaved_limitS);
  3536.   ShpS = (Ssaved_hpS);
  3537.   arg1K0 = (Snewspace_beginS);
  3538.   goto L8837;}
  3539.  L17473: {
  3540.   merged_arg0K0 = 0;
  3541.   merged_arg1K1 = (RSvalS);
  3542.   goto raise_exception1;}
  3543.  L20904: {
  3544.   merged_arg0K0 = 0;
  3545.   merged_arg1K1 = arg2_172X;
  3546.   merged_arg1K2 = (RSvalS);
  3547.   goto raise_exception2;}
  3548.  L21040: {
  3549.   merged_arg0K0 = 0;
  3550.   merged_arg1K1 = arg2_112X;
  3551.   merged_arg1K2 = (RSvalS);
  3552.   goto raise_exception2;}
  3553.  L17565: {
  3554.   merged_arg0K0 = 0;
  3555.   merged_arg1K1 = (RSvalS);
  3556.   goto raise_exception1;}
  3557.  L17562: {
  3558.   v_321X = arg0K0;
  3559.   RSvalS = ((long)v_321X);
  3560.   goto START;}
  3561.  L17718: {
  3562.   merged_arg0K0 = 0;
  3563.   merged_arg1K1 = (RSvalS);
  3564.   goto raise_exception1;}
  3565.  L17715: {
  3566.   val_322X = arg1K0;
  3567.   RSvalS = val_322X;
  3568.   goto START;}
  3569.  L17710: {
  3570.   c_323X = arg1K0;
  3571.   *((long *) (5 + x_109X)) = c_323X;
  3572.   arg1K0 = c_323X;
  3573.   goto L17715;}
  3574.  L17836: {
  3575.   merged_arg0K0 = 0;
  3576.   merged_arg1K1 = (RSvalS);
  3577.   goto raise_exception1;}
  3578.  L17833: {
  3579.   val_324X = arg1K0;
  3580.   RSvalS = val_324X;
  3581.   goto START;}
  3582.  L21131: {
  3583.   key_325X = arg1K0;
  3584.   RSstackS = (4 + (RSstackS));
  3585.   arg2_326X = *((long *) (RSstackS));
  3586.   if ((3 == (3 & arg2_326X))) {
  3587.     if ((15 == (31 & ((((*((long *) (-7 + arg2_326X))))>>2))))) {
  3588.       if ((0 == (3 & (RSvalS)))) {
  3589.         mode_327X = (((RSvalS))>>2);
  3590.         arg1K0 = 0;
  3591.         goto L21318;}
  3592.       else {
  3593.         goto L21169;}}
  3594.     else {
  3595.       goto L21169;}}
  3596.   else {
  3597.     goto L21169;}}
  3598.  L21169: {
  3599.   merged_arg0K0 = 0;
  3600.   merged_arg1K1 = arg2_326X;
  3601.   merged_arg1K2 = (RSvalS);
  3602.   goto raise_exception2;}
  3603.  L21318: {
  3604.   i_328X = arg1K0;
  3605.   if ((i_328X < (Snumber_of_portsS))) {
  3606.     if ((1 == (*((Sopen_vm_portsS) + i_328X)))) {
  3607.       arg1K0 = i_328X;
  3608.       arg1K1 = arg2_326X;
  3609.       goto L21205;}
  3610.     else {
  3611.       arg1K0 = (1 + i_328X);
  3612.       goto L21318;}}
  3613.   else {
  3614.     arg1K0 = -1;
  3615.     arg1K1 = arg2_326X;
  3616.     goto L21205;}}
  3617.  L21307: {
  3618.   i_329X = arg1K0;
  3619.   if ((i_329X < (Snumber_of_portsS))) {
  3620.     if ((1 == (*((Sopen_vm_portsS) + i_329X)))) {
  3621.       arg1K0 = i_329X;
  3622.       goto L21249;}
  3623.     else {
  3624.       arg1K0 = (1 + i_329X);
  3625.       goto L21307;}}
  3626.   else {
  3627.     arg1K0 = -1;
  3628.     goto L21249;}}
  3629.  L21277: {
  3630.   i_330X = arg1K0;
  3631.   if ((i_330X < (Snumber_of_portsS))) {
  3632.     *(new_ports_335X + i_330X) = (*((Sopen_portsS) + i_330X));
  3633.     *(new_vm_ports_336X + i_330X) = (*((Sopen_vm_portsS) + i_330X));
  3634.     arg1K0 = (1 + i_330X);
  3635.     goto L21277;}
  3636.   else {
  3637.     free((Sopen_portsS));
  3638.     free((Sopen_vm_portsS));
  3639.     Sopen_portsS = new_ports_335X;
  3640.     Sopen_vm_portsS = new_vm_ports_336X;
  3641.     Snumber_of_portsS = new_count_333X;
  3642.     arg1K0 = old_count_334X;
  3643.     arg1K1 = filename_343X;
  3644.     goto L21205;}}
  3645.  L21271: {
  3646.   i_331X = arg1K0;
  3647.   if ((i_331X < new_count_333X)) {
  3648.     *(new_vm_ports_336X + i_331X) = 1;
  3649.     arg1K0 = (1 + i_331X);
  3650.     goto L21271;}
  3651.   else {
  3652.     arg1K0 = 0;
  3653.     goto L21277;}}
  3654.  L21260: {
  3655.   merged_arg0K0 = 0;
  3656.   merged_arg1K1 = filename_343X;
  3657.   merged_arg1K2 = (((key_325X)<<2));
  3658.   goto raise_exception2;}
  3659.  L21249: {
  3660.   index_332X = arg1K0;
  3661.   if ((index_332X < 0)) {
  3662.     new_count_333X = 8 + (Snumber_of_portsS);
  3663.     old_count_334X = Snumber_of_portsS;
  3664.     new_ports_335X = (FILE **)malloc(sizeof(FILE *) * new_count_333X);
  3665.     new_vm_ports_336X = (long*)malloc(sizeof(long) * new_count_333X);
  3666.     if ((NULL == new_ports_335X)) {
  3667.       goto L21260;}
  3668.     else {
  3669.       if ((NULL == new_vm_ports_336X)) {
  3670.         goto L21260;}
  3671.       else {
  3672.         arg1K0 = 0;
  3673.         goto L21271;}}}
  3674.   else {
  3675.     arg1K0 = index_332X;
  3676.     arg1K1 = filename_343X;
  3677.     goto L21205;}}
  3678.  L21208: {
  3679.   port_337X = arg2K0;
  3680.   if ((NULL == port_337X)) {
  3681.     RSvalS = 1;
  3682.     goto START;}
  3683.   else {
  3684.     *((long *) (ShpS)) = 4118;
  3685.     ShpS = (4 + (ShpS));
  3686.     new_338X = 3 + (ShpS);
  3687.     ShpS = (16 + (ShpS));
  3688.     *((long *) (-4 + (ShpS))) = 0;
  3689.     *((long *) (-3 + new_338X)) = (((mode_327X)<<2));
  3690.     *((long *) (1 + new_338X)) = (((index_339X)<<2));
  3691.     *((long *) (5 + new_338X)) = 1;
  3692.     *((long *) (9 + new_338X)) = filename_340X;
  3693.     *((Sopen_portsS) + index_339X) = port_337X;
  3694.     *((Sopen_vm_portsS) + index_339X) = new_338X;
  3695.     RSvalS = new_338X;
  3696.     goto START;}}
  3697.  L21205: {
  3698.   index_339X = arg1K0;
  3699.   filename_340X = arg1K1;
  3700.   if ((index_339X < 0)) {
  3701.     merged_arg1K0 = filename_340X;
  3702.     collect_saving_temp_return_tag = 12;
  3703.     goto collect_saving_temp;
  3704.    collect_saving_temp_return_12:
  3705.     filename_343X = collect_saving_temp_return_value;
  3706.     arg1K0 = 0;
  3707.     goto L21307;}
  3708.   else {
  3709.     if ((2 == mode_327X)) {
  3710.       merged_arg1K0 = filename_340X;
  3711.       extract_string_return_tag = 1;
  3712.       goto extract_string;
  3713.      extract_string_return_1:
  3714.       spec_341X = extract_string_return_value;
  3715.       arg2K0 = (ps_open(spec_341X, "w"));
  3716.       goto L21208;}
  3717.     else {
  3718.       merged_arg1K0 = filename_340X;
  3719.       extract_string_return_tag = 2;
  3720.       goto extract_string;
  3721.      extract_string_return_2:
  3722.       spec_342X = extract_string_return_value;
  3723.       arg2K0 = (ps_open(spec_342X, "r"));
  3724.       goto L21208;}}}
  3725.  L21413: {
  3726.   if ((1 == (RSvalS))) {
  3727.     *((long *) (-3 + arg2_186X)) = 273;
  3728.     goto L21438;}
  3729.   else {
  3730.     if ((17 == (255 & (*((long *) (-3 + arg2_186X)))))) {
  3731.       *((long *) (-3 + arg2_186X)) = 529;
  3732.       goto L21438;}
  3733.     else {
  3734.       goto L21438;}}}
  3735.  L21441: {
  3736.   merged_arg0K0 = 0;
  3737.   merged_arg1K1 = arg2_186X;
  3738.   merged_arg1K2 = (RSvalS);
  3739.   goto raise_exception2;}
  3740.  L21438: {
  3741.   RSvalS = 13;
  3742.   goto START;}
  3743.  L18255: {
  3744.   merged_arg0K0 = 0;
  3745.   merged_arg1K1 = (RSvalS);
  3746.   goto raise_exception1;}
  3747.  L18264: {
  3748.   v_344X = arg0K0;
  3749.   RSvalS = ((long)v_344X);
  3750.   goto START;}
  3751.  L24504: {
  3752.   merged_arg0K0 = 0;
  3753.   merged_arg1K1 = arg3_189X;
  3754.   merged_arg1K2 = arg2_188X;
  3755.   merged_arg1K3 = (RSvalS);
  3756.   goto raise_exception3;}
  3757.  L24497: {
  3758.   merged_arg0K0 = 0;
  3759.   merged_arg1K1 = arg3_189X;
  3760.   merged_arg1K2 = (((index_191X)<<2));
  3761.   merged_arg1K3 = (9 + (((((long)(Kchar_190X)))<<8)));
  3762.   goto raise_exception3;}
  3763.  L21618: {
  3764.   merged_arg0K0 = 0;
  3765.   merged_arg1K1 = arg2_101X;
  3766.   merged_arg1K2 = (RSvalS);
  3767.   goto raise_exception2;}
  3768.  L21613: {
  3769.   merged_arg0K0 = 0;
  3770.   merged_arg1K1 = arg2_101X;
  3771.   merged_arg1K2 = (((index_193X)<<2));
  3772.   goto raise_exception2;}
  3773.  L21857: {
  3774.   len_346X = 1 + len_197X;
  3775.   *((long *) (ShpS)) = (62 + (((len_346X)<<8)));
  3776.   ShpS = (4 + (ShpS));
  3777.   new_345X = 3 + (ShpS);
  3778.   ShpS = ((ShpS) + (-4 & (3 + len_346X)));
  3779.   if ((0 < len_346X)) {
  3780.     *((long *) (-4 + (ShpS))) = 0;
  3781.     arg1K0 = new_345X;
  3782.     goto L21781;}
  3783.   else {
  3784.     arg1K0 = new_345X;
  3785.     goto L21781;}}
  3786.  L21806: {
  3787.   merged_arg0K0 = 0;
  3788.   merged_arg1K1 = arg2_195X;
  3789.   merged_arg1K2 = (RSvalS);
  3790.   goto raise_exception2;}
  3791.  L21763: {
  3792.   merged_arg0K0 = 0;
  3793.   merged_arg1K1 = (((len_197X)<<2));
  3794.   merged_arg1K2 = (9 + (((((long)(init_196X)))<<8)));
  3795.   goto raise_exception2;}
  3796.  L21781: {
  3797.   string_347X = arg1K0;
  3798.   arg1K0 = (-1 + len_197X);
  3799.   goto L21783;}
  3800.  L21783: {
  3801.   i_348X = arg1K0;
  3802.   if ((i_348X < 0)) {
  3803.     RSvalS = string_347X;
  3804.     goto START;}
  3805.   else {
  3806.     *((unsigned char *) ((-3 + string_347X) + i_348X)) = ((unsigned char)((long)(init_196X)));
  3807.     arg1K0 = (-1 + i_348X);
  3808.     goto L21783;}}
  3809.  L24678: {
  3810.   merged_arg0K0 = 0;
  3811.   merged_arg1K1 = arg3_98X;
  3812.   merged_arg1K2 = arg2_99X;
  3813.   merged_arg1K3 = (RSvalS);
  3814.   goto raise_exception3;}
  3815.  L24671: {
  3816.   merged_arg0K0 = 0;
  3817.   merged_arg1K1 = arg3_98X;
  3818.   merged_arg1K2 = (((index_200X)<<2));
  3819.   merged_arg1K3 = (((value_199X)<<2));
  3820.   goto raise_exception3;}
  3821.  L22033: {
  3822.   merged_arg0K0 = 0;
  3823.   merged_arg1K1 = arg2_97X;
  3824.   merged_arg1K2 = (RSvalS);
  3825.   goto raise_exception2;}
  3826.  L22028: {
  3827.   merged_arg0K0 = 0;
  3828.   merged_arg1K1 = arg2_97X;
  3829.   merged_arg1K2 = (((index_202X)<<2));
  3830.   goto raise_exception2;}
  3831.  L22270: {
  3832.   *((long *) (ShpS)) = (66 + (((len_94X)<<8)));
  3833.   ShpS = (4 + (ShpS));
  3834.   new_349X = 3 + (ShpS);
  3835.   ShpS = ((ShpS) + (-4 & (3 + len_94X)));
  3836.   if ((0 < len_94X)) {
  3837.     *((long *) (-4 + (ShpS))) = 0;
  3838.     arg1K0 = new_349X;
  3839.     goto L22196;}
  3840.   else {
  3841.     arg1K0 = new_349X;
  3842.     goto L22196;}}
  3843.  L22178: {
  3844.   merged_arg0K0 = 0;
  3845.   merged_arg1K1 = (((len_94X)<<2));
  3846.   merged_arg1K2 = (((init_95X)<<2));
  3847.   goto raise_exception2;}
  3848.  L22196: {
  3849.   code_vector_350X = arg1K0;
  3850.   arg1K0 = (-1 + len_94X);
  3851.   goto L22198;}
  3852.  L22198: {
  3853.   i_351X = arg1K0;
  3854.   if ((i_351X < 0)) {
  3855.     RSvalS = code_vector_350X;
  3856.     goto START;}
  3857.   else {
  3858.     *((unsigned char *) ((-3 + code_vector_350X) + i_351X)) = ((unsigned char)init_95X);
  3859.     arg1K0 = (-1 + i_351X);
  3860.     goto L22198;}}
  3861.  L25476: {
  3862.   merged_arg0K0 = 1;
  3863.   merged_arg1K1 = arg3_206X;
  3864.   merged_arg1K2 = (((((long)b_90X))<<2));
  3865.   merged_arg1K3 = (((index_91X)<<2));
  3866.   merged_arg1K4 = x_92X;
  3867.   goto raise_exception4;}
  3868.  L24845: {
  3869.   merged_arg0K0 = 1;
  3870.   merged_arg1K1 = arg2_207X;
  3871.   merged_arg1K2 = (((((long)b_87X))<<2));
  3872.   merged_arg1K3 = (((index_88X)<<2));
  3873.   goto raise_exception3;}
  3874.  L25022: {
  3875.   merged_arg0K0 = 1;
  3876.   merged_arg1K1 = (((((long)b_83X))<<2));
  3877.   merged_arg1K2 = (((len_84X)<<2));
  3878.   merged_arg1K3 = x_85X;
  3879.   goto raise_exception3;}
  3880.  L25038: {
  3881.   val_352X = arg1K0;
  3882.   arg1K0 = (-1 + len_84X);
  3883.   goto L25040;}
  3884.  L25040: {
  3885.   i_353X = arg1K0;
  3886.   if ((i_353X < 0)) {
  3887.     RSvalS = val_352X;
  3888.     goto START;}
  3889.   else {
  3890.     *((long *) ((-3 + val_352X) + (((i_353X)<<2)))) = init_355X;
  3891.     arg1K0 = (-1 + i_353X);
  3892.     goto L25040;}}
  3893.  L25027: {
  3894.   okayP_354X = arg3K0;
  3895.   init_355X = arg1K1;
  3896.   if (okayP_354X) {
  3897.     len_357X = ((len_84X)<<2);
  3898.     *((long *) (ShpS)) = (2 + (((((((len_357X)<<6)) + ((long)b_83X)))<<2)));
  3899.     ShpS = (4 + (ShpS));
  3900.     new_356X = 3 + (ShpS);
  3901.     ShpS = ((ShpS) + (-4 & (3 + len_357X)));
  3902.     if ((0 < len_357X)) {
  3903.       *((long *) (-4 + (ShpS))) = 0;
  3904.       arg1K0 = new_356X;
  3905.       goto L25038;}
  3906.     else {
  3907.       arg1K0 = new_356X;
  3908.       goto L25038;}}
  3909.   else {
  3910.     merged_arg0K0 = 1;
  3911.     merged_arg1K1 = (((((long)b_83X))<<2));
  3912.     merged_arg1K2 = (((len_84X)<<2));
  3913.     merged_arg1K3 = init_355X;
  3914.     goto raise_exception3;}}
  3915.  L25732: {
  3916.   merged_arg0K0 = 2;
  3917.   merged_arg1K1 = arg2_80X;
  3918.   merged_arg1K2 = (((((long)b_78X))<<2));
  3919.   merged_arg1K3 = (((((long)b_77X))<<2));
  3920.   merged_arg1K4 = x_79X;
  3921.   goto raise_exception4;}
  3922.  L25259: {
  3923.   merged_arg0K0 = 2;
  3924.   merged_arg1K1 = x_209X;
  3925.   merged_arg1K2 = (((((long)b_210X))<<2));
  3926.   merged_arg1K3 = (((((long)b_211X))<<2));
  3927.   goto raise_exception3;}
  3928.  L16631: {
  3929.   b_361X = *((unsigned char *) (RScode_pointerS));
  3930.   RScode_pointerS = (1 + (RScode_pointerS));
  3931.   b_360X = *((unsigned char *) (RScode_pointerS));
  3932.   RScode_pointerS = (1 + (RScode_pointerS));
  3933.   len_359X = ((((long)b_361X))<<2);
  3934.   *((long *) (ShpS)) = (2 + (((((((len_359X)<<6)) + ((long)b_360X)))<<2)));
  3935.   ShpS = (4 + (ShpS));
  3936.   new_358X = 3 + (ShpS);
  3937.   ShpS = ((ShpS) + (-4 & (3 + len_359X)));
  3938.   if ((0 < len_359X)) {
  3939.     *((long *) (-4 + (ShpS))) = 0;
  3940.     arg1K0 = new_358X;
  3941.     goto L16639;}
  3942.   else {
  3943.     arg1K0 = new_358X;
  3944.     goto L16639;}}
  3945.  L16639: {
  3946.   new_362X = arg1K0;
  3947.   if ((((long)b_361X) < 1)) {
  3948.     goto L16670;}
  3949.   else {
  3950.     *((long *) (-7 + (new_362X + (((((long)b_361X))<<2))))) = (RSvalS);
  3951.     arg1K0 = (-2 + ((long)b_361X));
  3952.     goto L16648;}}
  3953.  L16670: {
  3954.   RSvalS = new_362X;
  3955.   goto START;}
  3956.  L16648: {
  3957.   i_363X = arg1K0;
  3958.   if ((i_363X < 0)) {
  3959.     goto L16670;}
  3960.   else {
  3961.     RSstackS = (4 + (RSstackS));
  3962.     *((long *) ((-3 + new_362X) + (((i_363X)<<2)))) = (*((long *) (RSstackS)));
  3963.     arg1K0 = (-1 + i_363X);
  3964.     goto L16648;}}
  3965.  L22430: {
  3966.   merged_arg0K0 = 1;
  3967.   merged_arg1K1 = x_212X;
  3968.   merged_arg1K2 = (((((long)b_213X))<<2));
  3969.   goto raise_exception2;}
  3970.  L22717: {
  3971.   RSvalS = (((result_68X)<<2));
  3972.   goto START;}
  3973.  L22714: {
  3974.   merged_arg0K0 = 0;
  3975.   merged_arg1K1 = arg2_220X;
  3976.   merged_arg1K2 = x_72X;
  3977.   goto raise_exception2;}
  3978.  L23274: {
  3979.   n_364X = arg1K0;
  3980.   RSvalS = (((n_364X)<<2));
  3981.   goto START;}
  3982.  L23270: {
  3983.   b_365X = arg1K0;
  3984.   c_366X = a_367X % b_365X;
  3985.   if ((a_224X < 0)) {
  3986.     arg1K0 = (0 - c_366X);
  3987.     goto L23274;}
  3988.   else {
  3989.     arg1K0 = c_366X;
  3990.     goto L23274;}}
  3991.  L23268: {
  3992.   a_367X = arg1K0;
  3993.   if ((b_225X < 0)) {
  3994.     arg1K0 = (0 - b_225X);
  3995.     goto L23270;}
  3996.   else {
  3997.     arg1K0 = b_225X;
  3998.     goto L23270;}}
  3999.  L23407: {
  4000.   if ((536870911 < c_369X)) {
  4001.     merged_arg0K0 = 0;
  4002.     merged_arg1K1 = arg2_58X;
  4003.     merged_arg1K2 = x_226X;
  4004.     goto raise_exception2;}
  4005.   else {
  4006.     RSvalS = (((c_369X)<<2));
  4007.     goto START;}}
  4008.  L23404: {
  4009.   RSvalS = ((((0 - c_369X))<<2));
  4010.   goto START;}
  4011.  L23401: {
  4012.   b_368X = arg1K0;
  4013.   c_369X = a_370X / b_368X;
  4014.   if ((a_227X < 0)) {
  4015.     if ((b_228X < 0)) {
  4016.       goto L23407;}
  4017.     else {
  4018.       goto L23404;}}
  4019.   else {
  4020.     if ((b_228X < 0)) {
  4021.       goto L23404;}
  4022.     else {
  4023.       goto L23407;}}}
  4024.  L23399: {
  4025.   a_370X = arg1K0;
  4026.   if ((b_228X < 0)) {
  4027.     arg1K0 = (0 - b_228X);
  4028.     goto L23401;}
  4029.   else {
  4030.     arg1K0 = b_228X;
  4031.     goto L23401;}}
  4032.  L23777: {
  4033.   if ((536870911 < c_379X)) {
  4034.     merged_arg0K0 = 0;
  4035.     merged_arg1K1 = arg2_55X;
  4036.     merged_arg1K2 = x_231X;
  4037.     goto raise_exception2;}
  4038.   else {
  4039.     arg1K0 = (((c_379X)<<2));
  4040.     goto L23740;}}
  4041.  L23753: {
  4042.   n_371X = arg1K0;
  4043.   if ((0 == (((n_371X)<<2)))) {
  4044.     RSvalS = q_375X;
  4045.     goto START;}
  4046.   else {
  4047.     merged_arg0K0 = 0;
  4048.     merged_arg1K1 = arg2_55X;
  4049.     merged_arg1K2 = x_231X;
  4050.     goto raise_exception2;}}
  4051.  L23749: {
  4052.   b_372X = arg1K0;
  4053.   c_373X = a_374X % b_372X;
  4054.   if ((a_376X < 0)) {
  4055.     arg1K0 = (0 - c_373X);
  4056.     goto L23753;}
  4057.   else {
  4058.     arg1K0 = c_373X;
  4059.     goto L23753;}}
  4060.  L23747: {
  4061.   a_374X = arg1K0;
  4062.   if ((b_377X < 0)) {
  4063.     arg1K0 = (0 - b_377X);
  4064.     goto L23749;}
  4065.   else {
  4066.     arg1K0 = b_377X;
  4067.     goto L23749;}}
  4068.  L23740: {
  4069.   q_375X = arg1K0;
  4070.   if ((0 == x_231X)) {
  4071.     merged_arg0K0 = 0;
  4072.     merged_arg1K1 = arg2_55X;
  4073.     merged_arg1K2 = x_231X;
  4074.     goto raise_exception2;}
  4075.   else {
  4076.     a_376X = ((arg2_55X)>>2);
  4077.     b_377X = ((x_231X)>>2);
  4078.     if ((a_376X < 0)) {
  4079.       arg1K0 = (0 - a_376X);
  4080.       goto L23747;}
  4081.     else {
  4082.       arg1K0 = a_376X;
  4083.       goto L23747;}}}
  4084.  L23736: {
  4085.   b_378X = arg1K0;
  4086.   c_379X = a_380X / b_378X;
  4087.   if ((a_232X < 0)) {
  4088.     if ((b_233X < 0)) {
  4089.       goto L23777;}
  4090.     else {
  4091.       arg1K0 = ((((0 - c_379X))<<2));
  4092.       goto L23740;}}
  4093.   else {
  4094.     if ((b_233X < 0)) {
  4095.       arg1K0 = ((((0 - c_379X))<<2));
  4096.       goto L23740;}
  4097.     else {
  4098.       goto L23777;}}}
  4099.  L23734: {
  4100.   a_380X = arg1K0;
  4101.   if ((b_233X < 0)) {
  4102.     arg1K0 = (0 - b_233X);
  4103.     goto L23736;}
  4104.   else {
  4105.     arg1K0 = b_233X;
  4106.     goto L23736;}}
  4107.  L23940: {
  4108.   merged_arg0K0 = 0;
  4109.   merged_arg1K1 = arg2_54X;
  4110.   merged_arg1K2 = x_234X;
  4111.   goto raise_exception2;}
  4112.  L24090: {
  4113.   if ((536870911 < c_388X)) {
  4114.     merged_arg0K0 = 0;
  4115.     merged_arg1K1 = arg2_53X;
  4116.     merged_arg1K2 = x_236X;
  4117.     goto raise_exception2;}
  4118.   else {
  4119.     RSvalS = (((c_388X)<<2));
  4120.     goto START;}}
  4121.  L24083: {
  4122.   if ((536870912 < c_388X)) {
  4123.     merged_arg0K0 = 0;
  4124.     merged_arg1K1 = arg2_53X;
  4125.     merged_arg1K2 = x_236X;
  4126.     goto raise_exception2;}
  4127.   else {
  4128.     RSvalS = ((((0 - c_388X))<<2));
  4129.     goto START;}}
  4130.  L24079: {
  4131.   if ((536870911 < lo_c_386X)) {
  4132.     goto L24074;}
  4133.   else {
  4134.     if ((lo_c_386X < 0)) {
  4135.       goto L24074;}
  4136.     else {
  4137.       if ((8192 < mid_c_387X)) {
  4138.         goto L24074;}
  4139.       else {
  4140.         if ((a_237X < 0)) {
  4141.           if ((b_238X < 0)) {
  4142.             goto L24090;}
  4143.           else {
  4144.             goto L24083;}}
  4145.         else {
  4146.           if ((b_238X < 0)) {
  4147.             goto L24083;}
  4148.           else {
  4149.             goto L24090;}}}}}}
  4150.  L24074: {
  4151.   merged_arg0K0 = 0;
  4152.   merged_arg1K1 = arg2_53X;
  4153.   merged_arg1K2 = x_236X;
  4154.   goto raise_exception2;}
  4155.  L24059: {
  4156.   b_381X = arg1K0;
  4157.   lo_a_382X = 65535 & a_389X;
  4158.   lo_b_383X = 65535 & b_381X;
  4159.   hi_a_384X = 65535 & (((a_389X)>>16));
  4160.   hi_b_385X = 65535 & (((b_381X)>>16));
  4161.   lo_c_386X = PS_SMALL_MULTIPLY(lo_a_382X, lo_b_383X);
  4162.   mid_c_387X = (PS_SMALL_MULTIPLY(lo_a_382X, hi_b_385X)) + (PS_SMALL_MULTIPLY(lo_b_383X, hi_a_384X));
  4163.   c_388X = lo_c_386X + (((mid_c_387X)<<16));
  4164.   if ((0 < hi_a_384X)) {
  4165.     if ((0 < hi_b_385X)) {
  4166.       goto L24074;}
  4167.     else {
  4168.       goto L24079;}}
  4169.   else {
  4170.     goto L24079;}}
  4171.  L24057: {
  4172.   a_389X = arg1K0;
  4173.   if ((b_238X < 0)) {
  4174.     arg1K0 = (0 - b_238X);
  4175.     goto L24059;}
  4176.   else {
  4177.     arg1K0 = b_238X;
  4178.     goto L24059;}}
  4179.  L24263: {
  4180.   merged_arg0K0 = 0;
  4181.   merged_arg1K1 = arg2_239X;
  4182.   merged_arg1K2 = x_52X;
  4183.   goto raise_exception2;}
  4184.  L28572: {
  4185.   offset_390X = arg1K0;
  4186.   RScode_pointerS = ((RScode_pointerS) + offset_390X);
  4187.   goto START;}
  4188.  L25344: {
  4189.   RSvalS = proc_36X;
  4190.   merged_arg0K0 = 0;
  4191.   goto perform_application;}
  4192.  L15148: {
  4193.   RSstackS = (4 + (RSstackS));
  4194.   list_391X = *((long *) (RSstackS));
  4195.   a_392X = *((long *) (-3 + list_391X));
  4196.   *((long *) (ShpS)) = 2050;
  4197.   ShpS = (4 + (ShpS));
  4198.   new_393X = 3 + (ShpS);
  4199.   ShpS = (8 + (ShpS));
  4200.   *((long *) (-4 + (ShpS))) = 0;
  4201.   *((long *) (-3 + new_393X)) = a_392X;
  4202.   *((long *) (1 + new_393X)) = 25;
  4203.   arg1K0 = (*((long *) (1 + list_391X)));
  4204.   arg1K1 = new_393X;
  4205.   goto L15158;}
  4206.  L15158: {
  4207.   l_394X = arg1K0;
  4208.   last_395X = arg1K1;
  4209.   if ((25 == l_394X)) {
  4210.     *((long *) (RSstackS)) = new_393X;
  4211.     RSstackS = (-4 + (RSstackS));
  4212.     SnargsS = 64;
  4213.     goto L25344;}
  4214.   else {
  4215.     a_397X = *((long *) (-3 + l_394X));
  4216.     *((long *) (ShpS)) = 2050;
  4217.     ShpS = (4 + (ShpS));
  4218.     new_396X = 3 + (ShpS);
  4219.     ShpS = (8 + (ShpS));
  4220.     *((long *) (-4 + (ShpS))) = 0;
  4221.     *((long *) (-3 + new_396X)) = a_397X;
  4222.     *((long *) (1 + new_396X)) = 25;
  4223.     *((long *) (1 + last_395X)) = new_396X;
  4224.     arg1K0 = (*((long *) (1 + l_394X)));
  4225.     arg1K1 = new_396X;
  4226.     goto L15158;}}
  4227.  L15374: {
  4228.   i_398X = arg1K0;
  4229.   l_399X = arg1K1;
  4230.   if ((0 < i_398X)) {
  4231.     *((long *) (RSstackS)) = (*((long *) (-3 + l_399X)));
  4232.     RSstackS = (-4 + (RSstackS));
  4233.     arg1K0 = (-1 + i_398X);
  4234.     arg1K1 = (*((long *) (1 + l_399X)));
  4235.     goto L15374;}
  4236.   else {
  4237.     if ((0 == overflow_401X)) {
  4238.       SnargsS = nargs_407X;
  4239.       goto L25344;}
  4240.     else {
  4241.       *((long *) (RSstackS)) = l_399X;
  4242.       RSstackS = (-4 + (RSstackS));
  4243.       space_400X = 3 * overflow_401X;
  4244.       if ((((ShpS) + (((space_400X)<<2))) < (SlimitS))) {
  4245.         goto L15148;}
  4246.       else {
  4247.         merged_arg1K0 = 0;
  4248.         collect_saving_temp_return_tag = 13;
  4249.         goto collect_saving_temp;
  4250.        collect_saving_temp_return_13:
  4251.         if ((((ShpS) + (((space_400X)<<2))) < (SlimitS))) {
  4252.           goto L15148;}
  4253.         else {
  4254.           TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  4255.           goto L15148;}}}}}
  4256.  L15338: {
  4257.   overflow_401X = arg1K0;
  4258.   arg1K0 = (len_404X - overflow_401X);
  4259.   arg1K1 = args_408X;
  4260.   goto L15374;}
  4261.  L25378: {
  4262.   merged_arg1K0 = 25;
  4263.   merged_arg1K1 = ((long)(*((unsigned char *) (RScode_pointerS))));
  4264.   pop_args_list_return_tag = 2;
  4265.   goto pop_args_list;
  4266.  pop_args_list_return_2:
  4267.   args_402X = pop_args_list_return_value;
  4268.   merged_arg0K0 = 0;
  4269.   merged_arg1K1 = proc_36X;
  4270.   merged_arg1K2 = args_402X;
  4271.   merged_arg1K3 = (RSvalS);
  4272.   goto raise_exception3;}
  4273.  L25376: {
  4274.   fast_403X = arg1K0;
  4275.   len_404X = arg1K1;
  4276.   slow_405X = arg1K2;
  4277.   move_slowP_406X = arg3K3;
  4278.   if ((25 == fast_403X)) {
  4279.     args_408X = RSvalS;
  4280.     nargs_407X = len_404X + ((long)(*((unsigned char *) (RScode_pointerS))));
  4281.     if ((63 < nargs_407X)) {
  4282.       arg1K0 = (-63 + nargs_407X);
  4283.       goto L15338;}
  4284.     else {
  4285.       arg1K0 = 0;
  4286.       goto L15338;}}
  4287.   else {
  4288.     if ((3 == (3 & fast_403X))) {
  4289.       if ((0 == (31 & ((((*((long *) (-7 + fast_403X))))>>2))))) {
  4290.         if (move_slowP_406X) {
  4291.           if ((fast_403X == slow_405X)) {
  4292.             merged_arg1K0 = 25;
  4293.             merged_arg1K1 = ((long)(*((unsigned char *) (RScode_pointerS))));
  4294.             pop_args_list_return_tag = 3;
  4295.             goto pop_args_list;
  4296.            pop_args_list_return_3:
  4297.             args_409X = pop_args_list_return_value;
  4298.             merged_arg0K0 = 0;
  4299.             merged_arg1K1 = proc_36X;
  4300.             merged_arg1K2 = args_409X;
  4301.             merged_arg1K3 = (RSvalS);
  4302.             goto raise_exception3;}
  4303.           else {
  4304.             arg1K0 = (*((long *) (1 + fast_403X)));
  4305.             arg1K1 = (1 + len_404X);
  4306.             arg1K2 = (*((long *) (1 + slow_405X)));
  4307.             arg3K3 = 0;
  4308.             goto L25376;}}
  4309.         else {
  4310.           arg1K0 = (*((long *) (1 + fast_403X)));
  4311.           arg1K1 = (1 + len_404X);
  4312.           arg1K2 = slow_405X;
  4313.           arg3K3 = 1;
  4314.           goto L25376;}}
  4315.       else {
  4316.         goto L25378;}}
  4317.     else {
  4318.       goto L25378;}}}
  4319.  L15912: {
  4320.   merged_arg0K0 = 0;
  4321.   goto perform_application;}
  4322.  L15929: {
  4323.   loc_410X = arg1K0;
  4324.   arg_411X = arg1K1;
  4325.   if (((RSstackS) < arg_411X)) {
  4326.     *((long *) loc_410X) = (*((long *) arg_411X));
  4327.     arg1K0 = (-4 + loc_410X);
  4328.     arg1K1 = (-4 + arg_411X);
  4329.     goto L15929;}
  4330.   else {
  4331.     RSstackS = loc_410X;
  4332.     goto L15912;}}
  4333.  L28365: {
  4334.   v_412X = arg1K0;
  4335.   ScontS = v_412X;
  4336.   goto START;}
  4337.  L28247: {
  4338.   key_413X = arg1K0;
  4339.   merged_arg1K0 = ((RScode_pointerS) + ((((((long)b_254X))<<8)) + ((long)b_255X)));
  4340.   merged_arg1K1 = ((long)b_256X);
  4341.   merged_arg1K2 = key_413X;
  4342.   push_continuationB_return_tag = 0;
  4343.   goto push_continuationB;
  4344.  push_continuationB_return_0:
  4345.   goto START;}
  4346.  L28264: {
  4347.   v_414X = arg1K0;
  4348.   merged_arg1K0 = v_414X;
  4349.   copy_stack_into_heap_return_tag = 0;
  4350.   goto copy_stack_into_heap;
  4351.  copy_stack_into_heap_return_0:
  4352.   arg1K0 = 0;
  4353.   goto L28247;}
  4354.  L28104: {
  4355.   space_415X = arg1K0;
  4356.   if ((((ShpS) + (((space_415X)<<2))) < (SlimitS))) {
  4357.     arg1K0 = 0;
  4358.     goto L28106;}
  4359.   else {
  4360.     merged_arg1K0 = 0;
  4361.     collect_saving_temp_return_tag = 14;
  4362.     goto collect_saving_temp;
  4363.    collect_saving_temp_return_14:
  4364.     if ((((ShpS) + (((space_415X)<<2))) < (SlimitS))) {
  4365.       arg1K0 = 0;
  4366.       goto L28106;}
  4367.     else {
  4368.       TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  4369.       arg1K0 = 0;
  4370.       goto L28106;}}}
  4371.  L28106: {
  4372.   key_416X = arg1K0;
  4373.   p_417X = RSenvS;
  4374.   if ((p_417X < (Sstack_beginS))) {
  4375.     arg1K0 = (RSenvS);
  4376.     goto L28108;}
  4377.   else {
  4378.     if (((Sstack_endS) < p_417X)) {
  4379.       arg1K0 = (RSenvS);
  4380.       goto L28108;}
  4381.     else {
  4382.       merged_arg1K0 = (RSenvS);
  4383.       merged_arg1K1 = (ScontS);
  4384.       merged_arg1K2 = key_416X;
  4385.       merged_arg0K3 = 0;
  4386.       save_env_in_heap_return_tag = 0;
  4387.       goto save_env_in_heap;
  4388.      save_env_in_heap_return_0:
  4389.       v_418X = save_env_in_heap_return_value;
  4390.       RSenvS = v_418X;
  4391.       arg1K0 = (RSenvS);
  4392.       goto L28108;}}}
  4393.  L28108: {
  4394.   env_419X = arg1K0;
  4395.   if (((12 + (ShpS)) < (SlimitS))) {
  4396.     goto L28110;}
  4397.   else {
  4398.     merged_arg1K0 = 0;
  4399.     collect_saving_temp_return_tag = 15;
  4400.     goto collect_saving_temp;
  4401.    collect_saving_temp_return_15:
  4402.     if (((12 + (ShpS)) < (SlimitS))) {
  4403.       goto L28110;}
  4404.     else {
  4405.       TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  4406.       goto L28110;}}}
  4407.  L28110: {
  4408.   b_420X = *((unsigned char *) (RScode_pointerS));
  4409.   RScode_pointerS = (1 + (RScode_pointerS));
  4410.   a_421X = *((long *) ((-3 + (StemplateS)) + (((((long)b_420X))<<2))));
  4411.   *((long *) (ShpS)) = 2062;
  4412.   ShpS = (4 + (ShpS));
  4413.   new_422X = 3 + (ShpS);
  4414.   ShpS = (8 + (ShpS));
  4415.   *((long *) (-4 + (ShpS))) = 0;
  4416.   *((long *) (-3 + new_422X)) = a_421X;
  4417.   *((long *) (1 + new_422X)) = env_419X;
  4418.   if ((3 == (3 & new_422X))) {
  4419.     if ((0 == (128 & (*((long *) (-7 + new_422X)))))) {
  4420.       *((long *) (-7 + new_422X)) = (128 | (*((long *) (-7 + new_422X))));
  4421.       arg1K0 = new_422X;
  4422.       goto L28114;}
  4423.     else {
  4424.       arg1K0 = new_422X;
  4425.       goto L28114;}}
  4426.   else {
  4427.     arg1K0 = new_422X;
  4428.     goto L28114;}}
  4429.  L28006: {
  4430.   env_423X = arg1K0;
  4431.   i_424X = arg1K1;
  4432.   if ((0 == i_424X)) {
  4433.     b_425X = *((unsigned char *) (RScode_pointerS));
  4434.     RScode_pointerS = (1 + (RScode_pointerS));
  4435.     *((long *) ((-3 + env_423X) + (((((long)b_425X))<<2)))) = (RSvalS);
  4436.     RSvalS = 13;
  4437.     goto START;}
  4438.   else {
  4439.     arg1K0 = (*((long *) (-3 + env_423X)));
  4440.     arg1K1 = (-1 + i_424X);
  4441.     goto L28006;}}
  4442.  L27698: {
  4443.   env_426X = arg1K0;
  4444.   i_427X = arg1K1;
  4445.   if ((0 == i_427X)) {
  4446.     b_428X = *((unsigned char *) (RScode_pointerS));
  4447.     RScode_pointerS = (1 + (RScode_pointerS));
  4448.     RSvalS = (*((long *) ((-3 + env_426X) + (((((long)b_428X))<<2)))));
  4449.     if ((529 == (RSvalS))) {
  4450.       merged_arg0K0 = 2;
  4451.       goto raise_exception;}
  4452.     else {
  4453.       goto START;}}
  4454.   else {
  4455.     arg1K0 = (*((long *) (-3 + env_426X)));
  4456.     arg1K1 = (-1 + i_427X);
  4457.     goto L27698;}}
  4458.  L27934: {
  4459.   args_429X = arg1K0;
  4460.   RSvalS = args_429X;
  4461.   SnargsS = (1 + ((long)b_268X));
  4462.   goto START;}
  4463.  L27866: {
  4464.   b_432X = *((unsigned char *) (RScode_pointerS));
  4465.   RScode_pointerS = (1 + (RScode_pointerS));
  4466.   len_431X = 4 + (((((long)b_432X))<<2));
  4467.   *((long *) (ShpS)) = (10 + (((len_431X)<<8)));
  4468.   ShpS = (4 + (ShpS));
  4469.   new_430X = 3 + (ShpS);
  4470.   ShpS = ((ShpS) + (-4 & (3 + len_431X)));
  4471.   if ((0 < len_431X)) {
  4472.     *((long *) (-4 + (ShpS))) = 0;
  4473.     arg1K0 = new_430X;
  4474.     goto L9754;}
  4475.   else {
  4476.     arg1K0 = new_430X;
  4477.     goto L9754;}}
  4478.  L27800: {
  4479.   b_433X = *((unsigned char *) (RScode_pointerS));
  4480.   RScode_pointerS = (1 + (RScode_pointerS));
  4481.   *((long *) (RSstackS)) = (RSenvS);
  4482.   RSstackS = (-4 + (RSstackS));
  4483.   *((long *) (RSstackS)) = (1034 + (((((long)b_433X))<<10)));
  4484.   RSstackS = (-4 + (RSstackS));
  4485.   RSenvS = (11 + (RSstackS));
  4486.   goto START;}
  4487.  L27833: {
  4488.   v_434X = arg1K0;
  4489.   merged_arg1K0 = v_434X;
  4490.   copy_stack_into_heap_return_tag = 1;
  4491.   goto copy_stack_into_heap;
  4492.  copy_stack_into_heap_return_1:
  4493.   goto L27800;}
  4494.  L31145: {
  4495.   merged_arg0K0 = 0;
  4496.   merged_arg1K1 = proc_151X;
  4497.   goto raise_exception1;}
  4498.  L31092: {
  4499.   merged_arg0K0 = 0;
  4500.   merged_arg1K1 = (RSvalS);
  4501.   goto raise_exception1;}
  4502.  L31073: {
  4503.   merged_arg0K0 = 0;
  4504.   merged_arg1K1 = (RSvalS);
  4505.   goto raise_exception1;}
  4506.  L30952: {
  4507.   v_435X = arg0K0;
  4508.   RSvalS = ((long)v_435X);
  4509.   goto START;}
  4510.  L30934: {
  4511.   v_436X = arg0K0;
  4512.   RSvalS = ((long)v_436X);
  4513.   goto START;}
  4514.  L30912: {
  4515.   merged_arg0K0 = 0;
  4516.   merged_arg1K1 = (RSvalS);
  4517.   goto raise_exception1;}
  4518.  L30891: {
  4519.   RSvalS = x_185X;
  4520.   goto START;}
  4521.  L30876: {
  4522.   v_437X = arg0K0;
  4523.   RSvalS = ((long)v_437X);
  4524.   goto START;}
  4525.  L30840: {
  4526.   merged_arg0K0 = 0;
  4527.   merged_arg1K1 = (RSvalS);
  4528.   goto raise_exception1;}
  4529.  L30809: {
  4530.   merged_arg0K0 = 0;
  4531.   merged_arg1K1 = (RSvalS);
  4532.   goto raise_exception1;}
  4533.  L30762: {
  4534.   v_438X = arg0K0;
  4535.   RSvalS = ((long)v_438X);
  4536.   goto START;}
  4537.  L30744: {
  4538.   v_439X = arg0K0;
  4539.   RSvalS = ((long)v_439X);
  4540.   goto START;}
  4541.  L30722: {
  4542.   merged_arg0K0 = 0;
  4543.   merged_arg1K1 = (((x_73X)<<2));
  4544.   goto raise_exception1;}
  4545.  L30691: {
  4546.   v_440X = arg0K0;
  4547.   RSvalS = ((long)v_440X);
  4548.   goto START;}
  4549.  L30679: {
  4550.   merged_arg0K0 = 0;
  4551.   merged_arg1K1 = arg2_215X;
  4552.   merged_arg1K2 = (RSvalS);
  4553.   goto raise_exception2;}
  4554.  L30662: {
  4555.   v_441X = arg0K0;
  4556.   RSvalS = ((long)v_441X);
  4557.   goto START;}
  4558.  L30650: {
  4559.   merged_arg0K0 = 0;
  4560.   merged_arg1K1 = arg2_217X;
  4561.   merged_arg1K2 = (RSvalS);
  4562.   goto raise_exception2;}
  4563.  L30635: {
  4564.   v_442X = arg0K0;
  4565.   RSvalS = ((long)v_442X);
  4566.   goto START;}
  4567.  L30507: {
  4568.   r_443X = arg1K0;
  4569.   if ((536870911 < r_443X)) {
  4570.     merged_arg0K0 = 0;
  4571.     merged_arg1K1 = x_222X;
  4572.     goto raise_exception1;}
  4573.   else {
  4574.     RSvalS = (((r_443X)<<2));
  4575.     goto START;}}
  4576.  L30319: {
  4577.   v_444X = arg0K0;
  4578.   RSvalS = ((long)v_444X);
  4579.   goto START;}
  4580.  L30295: {
  4581.   v_445X = arg0K0;
  4582.   RSvalS = ((long)v_445X);
  4583.   goto START;}
  4584.  L30212: {
  4585.   RSvalS = 1;
  4586.   goto START;}
  4587.  L30185: {
  4588.   RSvalS = 1;
  4589.   goto START;}
  4590.  L30158: {
  4591.   RSvalS = 1;
  4592.   goto START;}
  4593.  L30131: {
  4594.   RSvalS = 1;
  4595.   goto START;}
  4596.  L30113: {
  4597.   v_446X = arg0K0;
  4598.   RSvalS = ((long)v_446X);
  4599.   goto START;}
  4600.  L30099: {
  4601.   v_447X = arg0K0;
  4602.   RSvalS = ((long)v_447X);
  4603.   goto START;}
  4604.  L29978: {
  4605.   v_448X = arg1K0;
  4606.   ScontS = v_448X;
  4607.   SnargsS = 0;
  4608.   merged_arg0K0 = 0;
  4609.   goto perform_application;}
  4610.  L29948: {
  4611.   key_449X = arg1K0;
  4612.   merged_arg1K0 = key_449X;
  4613.   merged_arg0K1 = 2;
  4614.   preserve_continuation_return_tag = 0;
  4615.   goto preserve_continuation;
  4616.  preserve_continuation_return_0:
  4617.   v_450X = preserve_continuation_return_value;
  4618.   RSvalS = v_450X;
  4619.   goto START;}
  4620.  raise_exception: {
  4621.   args_676X = merged_arg0K0;{
  4622.   push_exception_continuationB_return_tag = 0;
  4623.   goto push_exception_continuationB;
  4624.  push_exception_continuationB_return_0:
  4625.   *((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_676X)))))))<<2));
  4626.   RSstackS = (-4 + (RSstackS));
  4627.   merged_arg0K0 = 0;
  4628.   goto raise;}}
  4629.  
  4630.  return_values: {
  4631.   nargs_674X = merged_arg1K0;{
  4632.   if ((1 == nargs_674X)) {
  4633.     RSstackS = (4 + (RSstackS));
  4634.     RSvalS = (*((long *) (RSstackS)));
  4635.     cont_451X = ScontS;
  4636.     tem_452X = *((long *) (5 + cont_451X));
  4637.     pc_453X = *((long *) (1 + cont_451X));
  4638.     StemplateS = tem_452X;
  4639.     RScode_pointerS = ((-3 + (*((long *) (-3 + tem_452X)))) + (((pc_453X)>>2)));
  4640.     RSenvS = (*((long *) (9 + cont_451X)));
  4641.     ScontS = (*((long *) (-3 + cont_451X)));
  4642.     RSstackS = (9 + cont_451X);
  4643.     goto START;}
  4644.   else {
  4645.     if (((ScontS) == (Sbottom_of_stackS))) {
  4646.       arg1K0 = (*((long *) (-3 + (Sbottom_of_stackS))));
  4647.       goto L27410;}
  4648.     else {
  4649.       arg1K0 = (ScontS);
  4650.       goto L27410;}}}
  4651.  L27360: {
  4652.   args_465X = arg1K0;
  4653.   merged_arg0K0 = 0;
  4654.   merged_arg1K1 = args_465X;
  4655.   goto raise_exception1;}
  4656.  L27307: {
  4657.   SnargsS = nargs_674X;
  4658.   RSvalS = (*((long *) (13 + cont_457X)));
  4659.   merged_arg0K0 = 0;
  4660.   goto perform_application;}
  4661.  L27410: {
  4662.   cont_457X = arg1K0;
  4663.   if ((3 == (3 & cont_457X))) {
  4664.     if ((8 == (31 & ((((*((long *) (-7 + cont_457X))))>>2))))) {
  4665.       next_op_459X = *((unsigned char *) ((-3 + (*((long *) (-3 + (*((long *) (5 + cont_457X))))))) + ((((*((long *) (1 + cont_457X))))>>2))));
  4666.       if ((31 == ((long)next_op_459X))) {
  4667.         cont_462X = ScontS;
  4668.         tem_463X = *((long *) (5 + cont_462X));
  4669.         pc_464X = *((long *) (1 + cont_462X));
  4670.         StemplateS = tem_463X;
  4671.         RScode_pointerS = ((-3 + (*((long *) (-3 + tem_463X)))) + (((pc_464X)>>2)));
  4672.         RSenvS = (*((long *) (9 + cont_462X)));
  4673.         ScontS = (*((long *) (-3 + cont_462X)));
  4674.         RSstackS = (9 + cont_462X);
  4675.         goto START;}
  4676.       else {
  4677.         if ((27 == ((long)next_op_459X))) {
  4678.           next_461X = *((long *) (-3 + (ScontS)));
  4679.           if (((ScontS) == (Sbottom_of_stackS))) {
  4680.             *((long *) (-3 + (ScontS))) = (*((long *) (-3 + next_461X)));
  4681.             goto L27307;}
  4682.           else {
  4683.             ScontS = next_461X;
  4684.             goto L27307;}}
  4685.         else {
  4686.           if ((64 == nargs_674X)) {
  4687.             RSstackS = (4 + (RSstackS));
  4688.             merged_arg1K0 = (*((long *) (RSstackS)));
  4689.             merged_arg1K1 = 63;
  4690.             pop_args_list_return_tag = 4;
  4691.             goto pop_args_list;
  4692.            pop_args_list_return_4:
  4693.             v_458X = pop_args_list_return_value;
  4694.             arg1K0 = v_458X;
  4695.             goto L27360;}
  4696.           else {
  4697.             merged_arg1K0 = 25;
  4698.             merged_arg1K1 = nargs_674X;
  4699.             pop_args_list_return_tag = 5;
  4700.             goto pop_args_list;
  4701.            pop_args_list_return_5:
  4702.             v_460X = pop_args_list_return_value;
  4703.             arg1K0 = v_460X;
  4704.             goto L27360;}}}}
  4705.     else {
  4706.       goto L27418;}}
  4707.   else {
  4708.     goto L27418;}}
  4709.  L27418: {
  4710.   if ((64 == nargs_674X)) {
  4711.     RSstackS = (4 + (RSstackS));
  4712.     merged_arg1K0 = (*((long *) (RSstackS)));
  4713.     merged_arg1K1 = 63;
  4714.     pop_args_list_return_tag = 6;
  4715.     goto pop_args_list;
  4716.    pop_args_list_return_6:
  4717.     v_456X = pop_args_list_return_value;
  4718.     arg1K0 = v_456X;
  4719.     goto L27448;}
  4720.   else {
  4721.     merged_arg1K0 = 25;
  4722.     merged_arg1K1 = nargs_674X;
  4723.     pop_args_list_return_tag = 7;
  4724.     goto pop_args_list;
  4725.    pop_args_list_return_7:
  4726.     v_455X = pop_args_list_return_value;
  4727.     arg1K0 = v_455X;
  4728.     goto L27448;}}
  4729.  L27448: {
  4730.   args_454X = arg1K0;
  4731.   merged_arg0K0 = 0;
  4732.   merged_arg1K1 = args_454X;
  4733.   goto raise_exception1;}}
  4734.  
  4735.  raise_exception1: {
  4736.   args_671X = merged_arg0K0;
  4737.   a1_672X = merged_arg1K1;{
  4738.   push_exception_continuationB_return_tag = 1;
  4739.   goto push_exception_continuationB;
  4740.  push_exception_continuationB_return_1:
  4741.   *((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_671X)))))))<<2));
  4742.   RSstackS = (-4 + (RSstackS));
  4743.   *((long *) (RSstackS)) = a1_672X;
  4744.   RSstackS = (-4 + (RSstackS));
  4745.   merged_arg0K0 = 1;
  4746.   goto raise;}}
  4747.  
  4748.  raise_exception2: {
  4749.   args_667X = merged_arg0K0;
  4750.   a1_668X = merged_arg1K1;
  4751.   a2_669X = merged_arg1K2;{
  4752.   push_exception_continuationB_return_tag = 2;
  4753.   goto push_exception_continuationB;
  4754.  push_exception_continuationB_return_2:
  4755.   *((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_667X)))))))<<2));
  4756.   RSstackS = (-4 + (RSstackS));
  4757.   *((long *) (RSstackS)) = a1_668X;
  4758.   RSstackS = (-4 + (RSstackS));
  4759.   *((long *) (RSstackS)) = a2_669X;
  4760.   RSstackS = (-4 + (RSstackS));
  4761.   merged_arg0K0 = 2;
  4762.   goto raise;}}
  4763.  
  4764.  raise_exception3: {
  4765.   args_662X = merged_arg0K0;
  4766.   a1_663X = merged_arg1K1;
  4767.   a2_664X = merged_arg1K2;
  4768.   a3_665X = merged_arg1K3;{
  4769.   push_exception_continuationB_return_tag = 3;
  4770.   goto push_exception_continuationB;
  4771.  push_exception_continuationB_return_3:
  4772.   *((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_662X)))))))<<2));
  4773.   RSstackS = (-4 + (RSstackS));
  4774.   *((long *) (RSstackS)) = a1_663X;
  4775.   RSstackS = (-4 + (RSstackS));
  4776.   *((long *) (RSstackS)) = a2_664X;
  4777.   RSstackS = (-4 + (RSstackS));
  4778.   *((long *) (RSstackS)) = a3_665X;
  4779.   RSstackS = (-4 + (RSstackS));
  4780.   merged_arg0K0 = 3;
  4781.   goto raise;}}
  4782.  
  4783.  raise_exception4: {
  4784.   args_656X = merged_arg0K0;
  4785.   a1_657X = merged_arg1K1;
  4786.   a2_658X = merged_arg1K2;
  4787.   a3_659X = merged_arg1K3;
  4788.   a4_660X = merged_arg1K4;{
  4789.   push_exception_continuationB_return_tag = 4;
  4790.   goto push_exception_continuationB;
  4791.  push_exception_continuationB_return_4:
  4792.   *((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)args_656X)))))))<<2));
  4793.   RSstackS = (-4 + (RSstackS));
  4794.   *((long *) (RSstackS)) = a1_657X;
  4795.   RSstackS = (-4 + (RSstackS));
  4796.   *((long *) (RSstackS)) = a2_658X;
  4797.   RSstackS = (-4 + (RSstackS));
  4798.   *((long *) (RSstackS)) = a3_659X;
  4799.   RSstackS = (-4 + (RSstackS));
  4800.   *((long *) (RSstackS)) = a4_660X;
  4801.   RSstackS = (-4 + (RSstackS));
  4802.   merged_arg0K0 = 4;
  4803.   goto raise;}}
  4804.  
  4805.  application_exception: {
  4806.   byte_args_654X = merged_arg0K0;{
  4807.   if ((64 == (SnargsS))) {
  4808.     RSstackS = (4 + (RSstackS));
  4809.     merged_arg1K0 = (*((long *) (RSstackS)));
  4810.     merged_arg1K1 = 63;
  4811.     pop_args_list_return_tag = 8;
  4812.     goto pop_args_list;
  4813.    pop_args_list_return_8:
  4814.     v_467X = pop_args_list_return_value;
  4815.     arg1K0 = v_467X;
  4816.     goto L24425;}
  4817.   else {
  4818.     merged_arg1K0 = 25;
  4819.     merged_arg1K1 = (SnargsS);
  4820.     pop_args_list_return_tag = 9;
  4821.     goto pop_args_list;
  4822.    pop_args_list_return_9:
  4823.     v_466X = pop_args_list_return_value;
  4824.     arg1K0 = v_466X;
  4825.     goto L24425;}}
  4826.  L24425: {
  4827.   args_468X = arg1K0;
  4828.   a1_469X = RSvalS;
  4829.   *((long *) (RSstackS)) = (((((long)(*((unsigned char *) (-1 + ((RScode_pointerS) - ((long)byte_args_654X)))))))<<2));
  4830.   RSstackS = (-4 + (RSstackS));
  4831.   *((long *) (RSstackS)) = a1_469X;
  4832.   RSstackS = (-4 + (RSstackS));
  4833.   *((long *) (RSstackS)) = args_468X;
  4834.   RSstackS = (-4 + (RSstackS));
  4835.   merged_arg0K0 = 2;
  4836.   goto raise;}}
  4837.  
  4838.  raise: {
  4839.   nargs_652X = merged_arg0K0;{
  4840.   SnargsS = (1 + ((long)nargs_652X));
  4841.   RSvalS = (Sexception_handlerS);
  4842.   obj_470X = RSvalS;
  4843.   if ((3 == (3 & obj_470X))) {
  4844.     if ((3 == (31 & ((((*((long *) (-7 + obj_470X))))>>2))))) {
  4845.       goto L15972;}
  4846.     else {
  4847.       goto L16034;}}
  4848.   else {
  4849.     goto L16034;}}
  4850.  L16034: {
  4851.   TTerror("exception handler is not a closure", 0, 0, 0, 0);
  4852.   goto L15972;}
  4853.  L15974: {
  4854.   if ((Sexception_space_usedPS)) {
  4855.     x_473X = (Sstack_limitS) < (-296 + (RSstackS));
  4856.     if (x_473X) {
  4857.       goto L15987;}
  4858.     else {
  4859.       TTerror("no space on stack to reserve exception space", 0, 0, 0, 0);
  4860.       goto L15987;}}
  4861.   else {
  4862.     goto L15976;}}
  4863.  L16008: {
  4864.   v_472X = arg1K0;
  4865.   merged_arg1K0 = v_472X;
  4866.   copy_stack_into_heap_return_tag = 2;
  4867.   goto copy_stack_into_heap;
  4868.  copy_stack_into_heap_return_2:
  4869.   goto L15974;}
  4870.  L15976: {
  4871.   merged_arg0K0 = 0;
  4872.   goto perform_application;}
  4873.  L15987: {
  4874.   Sstack_limitS = (296 + (Sstack_beginS));
  4875.   Sexception_space_usedPS = 0;
  4876.   goto L15976;}
  4877.  L15972: {
  4878.   if (((Sstack_limitS) < (-296 + (RSstackS)))) {
  4879.     goto L15974;}
  4880.   else {
  4881.     space_471X = 1 + (((((Sstack_endS) - (RSstackS)))>>2));
  4882.     if ((((ShpS) + (((space_471X)<<2))) < (SlimitS))) {
  4883.       arg1K0 = 0;
  4884.       goto L16008;}
  4885.     else {
  4886.       merged_arg1K0 = 0;
  4887.       collect_saving_temp_return_tag = 16;
  4888.       goto collect_saving_temp;
  4889.      collect_saving_temp_return_16:
  4890.       if ((((ShpS) + (((space_471X)<<2))) < (SlimitS))) {
  4891.         arg1K0 = 0;
  4892.         goto L16008;}
  4893.       else {
  4894.         TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  4895.         arg1K0 = 0;
  4896.         goto L16008;}}}}}
  4897.  
  4898.  perform_application: {
  4899.   bytes_consumed_650X = merged_arg0K0;{
  4900.   obj_475X = RSvalS;
  4901.   if ((3 == (3 & obj_475X))) {
  4902.     if ((3 == (31 & ((((*((long *) (-7 + obj_475X))))>>2))))) {
  4903.       RSenvS = (*((long *) (1 + (RSvalS))));
  4904.       tem_474X = *((long *) (-3 + (RSvalS)));
  4905.       StemplateS = tem_474X;
  4906.       RScode_pointerS = (-3 + (*((long *) (-3 + tem_474X))));
  4907.       if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
  4908.         goto START;}
  4909.       else {
  4910.         goto handle_interrupt;}}
  4911.     else {
  4912.       goto L15787;}}
  4913.   else {
  4914.     goto L15787;}}
  4915.  L15787: {
  4916.   merged_arg0K0 = bytes_consumed_650X;
  4917.   goto application_exception;}}
  4918.  
  4919.  handle_interrupt: {
  4920. { if (((Sstack_limitS) < (-276 + (RSstackS)))) {
  4921.     arg1K0 = 0;
  4922.     goto L16076;}
  4923.   else {
  4924.     space_476X = 1 + (((((Sstack_endS) - (RSstackS)))>>2));
  4925.     if ((((ShpS) + (((space_476X)<<2))) < (SlimitS))) {
  4926.       arg1K0 = 0;
  4927.       goto L16316;}
  4928.     else {
  4929.       merged_arg1K0 = 0;
  4930.       collect_saving_temp_return_tag = 17;
  4931.       goto collect_saving_temp;
  4932.      collect_saving_temp_return_17:
  4933.       if ((((ShpS) + (((space_476X)<<2))) < (SlimitS))) {
  4934.         arg1K0 = 0;
  4935.         goto L16316;}
  4936.       else {
  4937.         TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  4938.         arg1K0 = 0;
  4939.         goto L16316;}}}}
  4940.  L16076: {
  4941.   key_483X = arg1K0;
  4942.   n_484X = (Spending_interruptsS) & (Senabled_interruptsS);
  4943.   arg1K0 = 0;
  4944.   arg1K1 = 1;
  4945.   goto L16304;}
  4946.  L16316: {
  4947.   v_482X = arg1K0;
  4948.   merged_arg1K0 = v_482X;
  4949.   copy_stack_into_heap_return_tag = 3;
  4950.   goto copy_stack_into_heap;
  4951.  copy_stack_into_heap_return_3:
  4952.   arg1K0 = 0;
  4953.   goto L16076;}
  4954.  L16304: {
  4955.   i_478X = arg1K0;
  4956.   m_479X = arg1K1;
  4957.   if ((0 == (n_484X & m_479X))) {
  4958.     arg1K0 = (1 + i_478X);
  4959.     arg1K1 = (((m_479X)<<1));
  4960.     goto L16304;}
  4961.   else {
  4962.     Spending_interruptsS = (n_484X & (~ m_479X));
  4963.     *((long *) (RSstackS)) = (RSvalS);
  4964.     RSstackS = (-4 + (RSstackS));
  4965.     *((long *) (RSstackS)) = (StemplateS);
  4966.     RSstackS = (-4 + (RSstackS));
  4967.     *((long *) (RSstackS)) = (RSenvS);
  4968.     RSstackS = (-4 + (RSstackS));
  4969.     *((long *) (RSstackS)) = ((((SnargsS))<<2));
  4970.     RSstackS = (-4 + (RSstackS));
  4971.     *((long *) (RSstackS)) = ((((Senabled_interruptsS))<<2));
  4972.     RSstackS = (-4 + (RSstackS));
  4973.     tem_481X = Sinterrupt_templateS;
  4974.     StemplateS = tem_481X;
  4975.     RScode_pointerS = (-3 + (*((long *) (-3 + tem_481X))));
  4976.     merged_arg1K0 = (RScode_pointerS);
  4977.     merged_arg1K1 = (5 + (SnargsS));
  4978.     merged_arg1K2 = key_483X;
  4979.     push_continuationB_return_tag = 1;
  4980.     goto push_continuationB;
  4981.    push_continuationB_return_1:
  4982.     *((long *) (RSstackS)) = ((((Senabled_interruptsS))<<2));
  4983.     RSstackS = (-4 + (RSstackS));
  4984.     SnargsS = 1;
  4985.     obj_480X = Sinterrupt_handlersS;
  4986.     if ((3 == (3 & obj_480X))) {
  4987.       if ((2 == (31 & ((((*((long *) (-7 + obj_480X))))>>2))))) {
  4988.         goto L16118;}
  4989.       else {
  4990.         goto L16194;}}
  4991.     else {
  4992.       goto L16194;}}}
  4993.  L16194: {
  4994.   TTerror("interrupt handler is not a vector", 0, 0, 0, 0);
  4995.   goto L16118;}
  4996.  L16146: {
  4997.   TTerror("interrupt handler is not a closure", 1, i_478X, 0, 0);
  4998.   goto L16136;}
  4999.  L16136: {
  5000.   merged_arg0K0 = 0;
  5001.   goto perform_application;}
  5002.  L16118: {
  5003.   RSvalS = (*((long *) ((-3 + (Sinterrupt_handlersS)) + (((i_478X)<<2)))));
  5004.   Senabled_interruptsS = 0;
  5005.   obj_477X = RSvalS;
  5006.   if ((3 == (3 & obj_477X))) {
  5007.     if ((3 == (31 & ((((*((long *) (-7 + obj_477X))))>>2))))) {
  5008.       goto L16136;}
  5009.     else {
  5010.       goto L16146;}}
  5011.   else {
  5012.     goto L16146;}}}
  5013.  
  5014.  copy_stack_into_heap: {
  5015.   key_647X = merged_arg1K0;{
  5016.   arg1K0 = (4 + (RSstackS));
  5017.   arg1K1 = 0;
  5018.   goto L15036;}
  5019.  L15036: {
  5020.   p_488X = arg1K0;
  5021.   i_489X = arg1K1;
  5022.   if ((2 == (3 & (*((long *) p_488X))))) {
  5023.     len_491X = ((i_489X)<<2);
  5024.     *((long *) (ShpS)) = (10 + (((len_491X)<<8)));
  5025.     ShpS = (4 + (ShpS));
  5026.     new_490X = 3 + (ShpS);
  5027.     ShpS = ((ShpS) + (-4 & (3 + len_491X)));
  5028.     if ((0 < len_491X)) {
  5029.       *((long *) (-4 + (ShpS))) = 0;
  5030.       arg1K0 = new_490X;
  5031.       goto L14900;}
  5032.     else {
  5033.       arg1K0 = new_490X;
  5034.       goto L14900;}}
  5035.   else {
  5036.     arg1K0 = (4 + p_488X);
  5037.     arg1K1 = (1 + i_489X);
  5038.     goto L15036;}}
  5039.  L14900: {
  5040.   vec_487X = arg1K0;
  5041.   arg1K0 = (-1 + i_489X);
  5042.   goto L14902;}
  5043.  L14926: {
  5044.   i_486X = arg1K0;
  5045.   if ((i_486X < i_489X)) {
  5046.     *((long *) (RSstackS)) = (*((long *) ((-3 + vec_487X) + (((i_486X)<<2)))));
  5047.     RSstackS = (-4 + (RSstackS));
  5048.     arg1K0 = (1 + i_486X);
  5049.     goto L14926;}
  5050.   else {
  5051.     goto copy_stack_into_heap_return;}}
  5052.  L14902: {
  5053.   i_485X = arg1K0;
  5054.   if ((-1 < i_485X)) {
  5055.     RSstackS = (4 + (RSstackS));
  5056.     *((long *) ((-3 + vec_487X) + (((i_485X)<<2)))) = (*((long *) (RSstackS)));
  5057.     arg1K0 = (-1 + i_485X);
  5058.     goto L14902;}
  5059.   else {
  5060.     merged_arg1K0 = key_647X;
  5061.     merged_arg0K1 = 1;
  5062.     preserve_continuation_return_tag = 1;
  5063.     goto preserve_continuation;
  5064.    preserve_continuation_return_1:
  5065.     arg1K0 = 0;
  5066.     goto L14926;}}
  5067.  copy_stack_into_heap_return:
  5068.   switch (copy_stack_into_heap_return_tag) {
  5069.   case 0: goto copy_stack_into_heap_return_0;
  5070.   case 1: goto copy_stack_into_heap_return_1;
  5071.   case 2: goto copy_stack_into_heap_return_2;
  5072.   case 3: goto copy_stack_into_heap_return_3;
  5073.   }}
  5074.  
  5075.  preserve_continuation: {
  5076.   key_645X = merged_arg1K0;
  5077.   reason_646X = merged_arg0K1;{
  5078.   p_492X = RSenvS;
  5079.   if ((p_492X < (Sstack_beginS))) {
  5080.     goto L14645;}
  5081.   else {
  5082.     if (((Sstack_endS) < p_492X)) {
  5083.       goto L14645;}
  5084.     else {
  5085.       merged_arg1K0 = (RSenvS);
  5086.       merged_arg1K1 = (ScontS);
  5087.       merged_arg1K2 = key_645X;
  5088.       merged_arg0K3 = reason_646X;
  5089.       save_env_in_heap_return_tag = 1;
  5090.       goto save_env_in_heap;
  5091.      save_env_in_heap_return_1:
  5092.       v_493X = save_env_in_heap_return_value;
  5093.       RSenvS = v_493X;
  5094.       goto L14645;}}}
  5095.  L14645: {
  5096.   end_501X = *((long *) (-3 + (Sbottom_of_stackS)));
  5097.   arg1K0 = (ScontS);
  5098.   arg1K1 = (Sbottom_of_stackS);
  5099.   goto L14650;}
  5100.  L14703: {
  5101.   v_500X = arg1K0;
  5102.   ScontS = v_500X;
  5103.   preserve_continuation_return_value = cont_497X;
  5104.   goto preserve_continuation_return;}
  5105.  L14672: {
  5106.   merged_arg1K0 = cont_494X;
  5107.   merged_arg1K1 = key_645X;
  5108.   copy_stob_return_tag = 0;
  5109.   goto copy_stob;
  5110.  copy_stob_return_0:
  5111.   new_499X = copy_stob_return_value;
  5112.   *((long *) (-3 + previous_495X)) = new_499X;
  5113.   arg1K0 = (*((long *) (-3 + new_499X)));
  5114.   arg1K1 = new_499X;
  5115.   goto L14650;}
  5116.  L14650: {
  5117.   cont_494X = arg1K0;
  5118.   previous_495X = arg1K1;
  5119.   if ((cont_494X == (Sbottom_of_stackS))) {
  5120.     *((long *) (-3 + previous_495X)) = end_501X;
  5121.     cont_497X = *((long *) (-3 + (Sbottom_of_stackS)));
  5122.     if ((1 == cont_497X)) {
  5123.       arg1K0 = (Sbottom_of_stackS);
  5124.       goto L14703;}
  5125.     else {
  5126.       merged_arg1K0 = cont_497X;
  5127.       copy_continuation_from_heap_return_tag = 2;
  5128.       goto copy_continuation_from_heap;
  5129.      copy_continuation_from_heap_return_2:
  5130.       v_496X = copy_continuation_from_heap_return_value;
  5131.       arg1K0 = v_496X;
  5132.       goto L14703;}}
  5133.   else {
  5134.     p_498X = *((long *) (9 + cont_494X));
  5135.     if ((p_498X < (Sstack_beginS))) {
  5136.       goto L14672;}
  5137.     else {
  5138.       if (((Sstack_endS) < p_498X)) {
  5139.         goto L14672;}
  5140.       else {
  5141.         merged_arg1K0 = (*((long *) (9 + cont_494X)));
  5142.         merged_arg1K1 = cont_494X;
  5143.         merged_arg1K2 = key_645X;
  5144.         merged_arg0K3 = reason_646X;
  5145.         save_env_in_heap_return_tag = 2;
  5146.         goto save_env_in_heap;
  5147.        save_env_in_heap_return_2:
  5148.         goto L14672;}}}}
  5149.  preserve_continuation_return:
  5150.   switch (preserve_continuation_return_tag) {
  5151.   case 0: goto preserve_continuation_return_0;
  5152.   case 1: goto preserve_continuation_return_1;
  5153.   }}
  5154.  
  5155.  copy_continuation_from_heap: {
  5156.   cont_643X = merged_arg1K0;{
  5157.   top_502X = (-11 + (Sbottom_of_stackS)) - (-4 & (3 + ((long)(((unsigned long)(*((long *) (-7 + cont_643X))))>>8))));
  5158.   new_cont_503X = 7 + top_502X;
  5159.   RSstackS = (-4 + top_502X);
  5160.   v_504X = (((3 + ((long)(((unsigned long)(*((long *) (-7 + cont_643X))))>>8))))>>2);
  5161.   from_505X = -7 + cont_643X;
  5162.   arg1K0 = from_505X;
  5163.   arg1K1 = top_502X;
  5164.   goto L12892;}
  5165.  L12892: {
  5166.   from_506X = arg1K0;
  5167.   to_507X = arg1K1;
  5168.   if ((from_506X < (4 + (from_505X + (((v_504X)<<2)))))) {
  5169.     *((long *) to_507X) = (*((long *) from_506X));
  5170.     arg1K0 = (4 + from_506X);
  5171.     arg1K1 = (4 + to_507X);
  5172.     goto L12892;}
  5173.   else {
  5174.     *((long *) (-3 + (Sbottom_of_stackS))) = (*((long *) (-3 + new_cont_503X)));
  5175.     *((long *) (-3 + new_cont_503X)) = (Sbottom_of_stackS);
  5176.     copy_continuation_from_heap_return_value = new_cont_503X;
  5177.     goto copy_continuation_from_heap_return;}}
  5178.  copy_continuation_from_heap_return:
  5179.   switch (copy_continuation_from_heap_return_tag) {
  5180.   case 0: goto copy_continuation_from_heap_return_0;
  5181.   case 1: goto copy_continuation_from_heap_return_1;
  5182.   case 2: goto copy_continuation_from_heap_return_2;
  5183.   }}
  5184.  
  5185.  save_env_in_heap: {
  5186.   env_639X = merged_arg1K0;
  5187.   cont_640X = merged_arg1K1;
  5188.   key_641X = merged_arg1K2;{
  5189.   merged_arg1K0 = env_639X;
  5190.   merged_arg1K1 = key_641X;
  5191.   copy_stob_return_tag = 1;
  5192.   goto copy_stob;
  5193.  copy_stob_return_1:
  5194.   new_508X = copy_stob_return_value;
  5195.   *((long *) (-7 + env_639X)) = new_508X;
  5196.   arg1K0 = new_508X;
  5197.   goto L14174;}
  5198.  L14198: {
  5199.   arg1K0 = cont_640X;
  5200.   goto L14200;}
  5201.  L14200: {
  5202.   cont_513X = arg1K0;
  5203.   env_514X = *((long *) (9 + cont_513X));
  5204.   if ((3 == (3 & env_514X))) {
  5205.     if ((3 == (3 & (*((long *) (-7 + env_514X)))))) {
  5206.       *((long *) (9 + cont_513X)) = (*((long *) (-7 + env_514X)));
  5207.       arg1K0 = (*((long *) (-3 + cont_513X)));
  5208.       goto L14200;}
  5209.     else {
  5210.       save_env_in_heap_return_value = new_508X;
  5211.       goto save_env_in_heap_return;}}
  5212.   else {
  5213.     save_env_in_heap_return_value = new_508X;
  5214.     goto save_env_in_heap_return;}}
  5215.  L14174: {
  5216.   env_509X = arg1K0;
  5217.   p_510X = *((long *) (-3 + env_509X));
  5218.   if ((p_510X < (Sstack_beginS))) {
  5219.     goto L14198;}
  5220.   else {
  5221.     if (((Sstack_endS) < p_510X)) {
  5222.       goto L14198;}
  5223.     else {
  5224.       env_511X = *((long *) (-3 + env_509X));
  5225.       merged_arg1K0 = env_511X;
  5226.       merged_arg1K1 = key_641X;
  5227.       copy_stob_return_tag = 2;
  5228.       goto copy_stob;
  5229.      copy_stob_return_2:
  5230.       new_512X = copy_stob_return_value;
  5231.       *((long *) (-7 + env_511X)) = new_512X;
  5232.       *((long *) (-3 + env_509X)) = new_512X;
  5233.       arg1K0 = new_512X;
  5234.       goto L14174;}}}
  5235.  save_env_in_heap_return:
  5236.   switch (save_env_in_heap_return_tag) {
  5237.   case 0: goto save_env_in_heap_return_0;
  5238.   case 1: goto save_env_in_heap_return_1;
  5239.   case 2: goto save_env_in_heap_return_2;
  5240.   }}
  5241.  
  5242.  copy_stob: {
  5243.   old_stob_637X = merged_arg1K0;{
  5244.   len_516X = (long)(((unsigned long)(*((long *) (-7 + old_stob_637X))))>>8);
  5245.   *((long *) (ShpS)) = (66 + (((len_516X)<<8)));
  5246.   ShpS = (4 + (ShpS));
  5247.   new_515X = 3 + (ShpS);
  5248.   ShpS = ((ShpS) + (-4 & (3 + len_516X)));
  5249.   if ((0 < len_516X)) {
  5250.     *((long *) (-4 + (ShpS))) = 0;
  5251.     arg1K0 = new_515X;
  5252.     goto L9136;}
  5253.   else {
  5254.     arg1K0 = new_515X;
  5255.     goto L9136;}}
  5256.  L9136: {
  5257.   new_519X = arg1K0;
  5258.   *((long *) (-7 + new_519X)) = (*((long *) (-7 + old_stob_637X)));
  5259.   bytes_520X = (long)(((unsigned long)(*((long *) (-7 + old_stob_637X))))>>8);
  5260.   from_521X = -3 + old_stob_637X;
  5261.   arg1K0 = from_521X;
  5262.   arg1K1 = (-3 + new_519X);
  5263.   goto L9161;}
  5264.  L9161: {
  5265.   from_517X = arg1K0;
  5266.   to_518X = arg1K1;
  5267.   if ((from_517X < (from_521X + (-4 & (3 + bytes_520X))))) {
  5268.     *((long *) to_518X) = (*((long *) from_517X));
  5269.     arg1K0 = (4 + from_517X);
  5270.     arg1K1 = (4 + to_518X);
  5271.     goto L9161;}
  5272.   else {
  5273.     copy_stob_return_value = new_519X;
  5274.     goto copy_stob_return;}}
  5275.  copy_stob_return:
  5276.   switch (copy_stob_return_tag) {
  5277.   case 0: goto copy_stob_return_0;
  5278.   case 1: goto copy_stob_return_1;
  5279.   case 2: goto copy_stob_return_2;
  5280.   }}
  5281.  
  5282.  push_exception_continuationB: {
  5283. { if (((Sstack_limitS) < (-296 + (RSstackS)))) {
  5284.     arg1K0 = 0;
  5285.     goto L14138;}
  5286.   else {
  5287.     Sstack_limitS = (Sstack_beginS);
  5288.     Sexception_space_usedPS = 1;
  5289.     if (((Sstack_limitS) < (-296 + (RSstackS)))) {
  5290.       arg1K0 = 0;
  5291.       goto L14138;}
  5292.     else {
  5293.       TTerror("insufficient space on stack for exception frame", 0, 0, 0, 0);
  5294.       arg1K0 = 0;
  5295.       goto L14138;}}}
  5296.  L14138: {
  5297.   key_524X = arg1K0;
  5298.   arg1K0 = (4 + (RSstackS));
  5299.   arg1K1 = 0;
  5300.   goto L14150;}
  5301.  L14150: {
  5302.   p_522X = arg1K0;
  5303.   i_523X = arg1K1;
  5304.   if ((2 == (3 & (*((long *) p_522X))))) {
  5305.     merged_arg1K0 = (RScode_pointerS);
  5306.     merged_arg1K1 = i_523X;
  5307.     merged_arg1K2 = key_524X;
  5308.     push_continuationB_return_tag = 2;
  5309.     goto push_continuationB;
  5310.    push_continuationB_return_2:
  5311.     goto push_exception_continuationB_return;}
  5312.   else {
  5313.     arg1K0 = (4 + p_522X);
  5314.     arg1K1 = (1 + i_523X);
  5315.     goto L14150;}}
  5316.  push_exception_continuationB_return:
  5317.   switch (push_exception_continuationB_return_tag) {
  5318.   case 0: goto push_exception_continuationB_return_0;
  5319.   case 1: goto push_exception_continuationB_return_1;
  5320.   case 2: goto push_exception_continuationB_return_2;
  5321.   case 3: goto push_exception_continuationB_return_3;
  5322.   case 4: goto push_exception_continuationB_return_4;
  5323.   }}
  5324.  
  5325.  push_continuationB: {
  5326.   code_pointer_634X = merged_arg1K0;
  5327.   size_635X = merged_arg1K1;{
  5328.   pc_525X = 12 + ((((code_pointer_634X - (*((long *) (-3 + (StemplateS))))))<<2));
  5329.   template_526X = StemplateS;
  5330.   RSstackS = (-20 + (RSstackS));
  5331.   *((long *) (4 + (RSstackS))) = (128 | (4130 + (((size_635X)<<10))));
  5332.   cont_527X = 11 + (RSstackS);
  5333.   *((long *) (1 + cont_527X)) = pc_525X;
  5334.   *((long *) (5 + cont_527X)) = template_526X;
  5335.   *((long *) (9 + cont_527X)) = (RSenvS);
  5336.   *((long *) (-3 + cont_527X)) = (ScontS);
  5337.   ScontS = cont_527X;
  5338.   goto push_continuationB_return;}
  5339.  push_continuationB_return:
  5340.   switch (push_continuationB_return_tag) {
  5341.   case 0: goto push_continuationB_return_0;
  5342.   case 1: goto push_continuationB_return_1;
  5343.   case 2: goto push_continuationB_return_2;
  5344.   }}
  5345.  
  5346.  pop_args_list: {
  5347.   start_632X = merged_arg1K0;
  5348.   count_633X = merged_arg1K1;{
  5349.   space_528X = 3 * (SnargsS);
  5350.   if ((((ShpS) + (((space_528X)<<2))) < (SlimitS))) {
  5351.     goto L15054;}
  5352.   else {
  5353.     merged_arg1K0 = 0;
  5354.     collect_saving_temp_return_tag = 18;
  5355.     goto collect_saving_temp;
  5356.    collect_saving_temp_return_18:
  5357.     if ((((ShpS) + (((space_528X)<<2))) < (SlimitS))) {
  5358.       goto L15054;}
  5359.     else {
  5360.       TTerror("Scheme48 heap overflow", 0, 0, 0, 0);
  5361.       goto L15054;}}}
  5362.  L15054: {
  5363.   arg1K0 = start_632X;
  5364.   arg1K1 = count_633X;
  5365.   goto L15056;}
  5366.  L15056: {
  5367.   args_529X = arg1K0;
  5368.   count_530X = arg1K1;
  5369.   if ((0 < count_530X)) {
  5370.     RSstackS = (4 + (RSstackS));
  5371.     a_531X = *((long *) (RSstackS));
  5372.     *((long *) (ShpS)) = 2050;
  5373.     ShpS = (4 + (ShpS));
  5374.     new_532X = 3 + (ShpS);
  5375.     ShpS = (8 + (ShpS));
  5376.     *((long *) (-4 + (ShpS))) = 0;
  5377.     *((long *) (-3 + new_532X)) = a_531X;
  5378.     *((long *) (1 + new_532X)) = args_529X;
  5379.     arg1K0 = new_532X;
  5380.     arg1K1 = (-1 + count_530X);
  5381.     goto L15056;}
  5382.   else {
  5383.     pop_args_list_return_value = args_529X;
  5384.     goto pop_args_list_return;}}
  5385.  pop_args_list_return:
  5386.   switch (pop_args_list_return_tag) {
  5387.   case 0: goto pop_args_list_return_0;
  5388.   case 1: goto pop_args_list_return_1;
  5389.   case 2: goto pop_args_list_return_2;
  5390.   case 3: goto pop_args_list_return_3;
  5391.   case 4: goto pop_args_list_return_4;
  5392.   case 5: goto pop_args_list_return_5;
  5393.   case 6: goto pop_args_list_return_6;
  5394.   case 7: goto pop_args_list_return_7;
  5395.   case 8: goto pop_args_list_return_8;
  5396.   case 9: goto pop_args_list_return_9;
  5397.   }}
  5398.  
  5399.  collect_saving_temp: {
  5400.   value_630X = merged_arg1K0;{
  5401.   b_537X = Snewspace_beginS;
  5402.   Snewspace_beginS = (Soldspace_beginS);
  5403.   Soldspace_beginS = b_537X;
  5404.   e_536X = Snewspace_endS;
  5405.   Snewspace_endS = (Soldspace_endS);
  5406.   Soldspace_endS = e_536X;
  5407.   Ssaved_limitS = (SlimitS);
  5408.   Ssaved_hpS = (ShpS);
  5409.   SlimitS = (Snewspace_endS);
  5410.   ShpS = (Snewspace_beginS);
  5411.   Sweak_pointer_hpS = -1;
  5412.   pc_535X = 12 + (((((RScode_pointerS) - (*((long *) (-3 + (StemplateS))))))<<2));
  5413.   value_534X = StemplateS;
  5414.   if ((3 == (3 & value_534X))) {
  5415.     a_538X = -3 + value_534X;
  5416.     if ((a_538X < (Soldspace_beginS))) {
  5417.       arg1K0 = value_534X;
  5418.       goto L13915;}
  5419.     else {
  5420.       if ((a_538X < (Soldspace_endS))) {
  5421.         merged_arg1K0 = value_534X;
  5422.         copy_object_return_tag = 1;
  5423.         goto copy_object;
  5424.        copy_object_return_1:
  5425.         v_533X = copy_object_return_value;
  5426.         arg1K0 = v_533X;
  5427.         goto L13915;}
  5428.       else {
  5429.         arg1K0 = value_534X;
  5430.         goto L13915;}}}
  5431.   else {
  5432.     arg1K0 = value_534X;
  5433.     goto L13915;}}
  5434.  L13915: {
  5435.   tem_585X = arg1K0;
  5436.   StemplateS = tem_585X;
  5437.   RScode_pointerS = ((-3 + (*((long *) (-3 + tem_585X)))) + (((pc_535X)>>2)));
  5438.   value_587X = RSvalS;
  5439.   if ((3 == (3 & value_587X))) {
  5440.     a_588X = -3 + value_587X;
  5441.     if ((a_588X < (Soldspace_beginS))) {
  5442.       arg1K0 = value_587X;
  5443.       goto L13919;}
  5444.     else {
  5445.       if ((a_588X < (Soldspace_endS))) {
  5446.         merged_arg1K0 = value_587X;
  5447.         copy_object_return_tag = 2;
  5448.         goto copy_object;
  5449.        copy_object_return_2:
  5450.         v_586X = copy_object_return_value;
  5451.         arg1K0 = v_586X;
  5452.         goto L13919;}
  5453.       else {
  5454.         arg1K0 = value_587X;
  5455.         goto L13919;}}}
  5456.   else {
  5457.     arg1K0 = value_587X;
  5458.     goto L13919;}}
  5459.  L13919: {
  5460.   v_581X = arg1K0;
  5461.   RSvalS = v_581X;
  5462.   value_583X = Sdynamic_stateS;
  5463.   if ((3 == (3 & value_583X))) {
  5464.     a_584X = -3 + value_583X;
  5465.     if ((a_584X < (Soldspace_beginS))) {
  5466.       arg1K0 = value_583X;
  5467.       goto L13923;}
  5468.     else {
  5469.       if ((a_584X < (Soldspace_endS))) {
  5470.         merged_arg1K0 = value_583X;
  5471.         copy_object_return_tag = 3;
  5472.         goto copy_object;
  5473.        copy_object_return_3:
  5474.         v_582X = copy_object_return_value;
  5475.         arg1K0 = v_582X;
  5476.         goto L13923;}
  5477.       else {
  5478.         arg1K0 = value_583X;
  5479.         goto L13923;}}}
  5480.   else {
  5481.     arg1K0 = value_583X;
  5482.     goto L13923;}}
  5483.  L13923: {
  5484.   v_577X = arg1K0;
  5485.   Sdynamic_stateS = v_577X;
  5486.   value_579X = Sexception_handlerS;
  5487.   if ((3 == (3 & value_579X))) {
  5488.     a_580X = -3 + value_579X;
  5489.     if ((a_580X < (Soldspace_beginS))) {
  5490.       arg1K0 = value_579X;
  5491.       goto L13927;}
  5492.     else {
  5493.       if ((a_580X < (Soldspace_endS))) {
  5494.         merged_arg1K0 = value_579X;
  5495.         copy_object_return_tag = 4;
  5496.         goto copy_object;
  5497.        copy_object_return_4:
  5498.         v_578X = copy_object_return_value;
  5499.         arg1K0 = v_578X;
  5500.         goto L13927;}
  5501.       else {
  5502.         arg1K0 = value_579X;
  5503.         goto L13927;}}}
  5504.   else {
  5505.     arg1K0 = value_579X;
  5506.     goto L13927;}}
  5507.  L13927: {
  5508.   v_573X = arg1K0;
  5509.   Sexception_handlerS = v_573X;
  5510.   value_575X = Sinterrupt_handlersS;
  5511.   if ((3 == (3 & value_575X))) {
  5512.     a_576X = -3 + value_575X;
  5513.     if ((a_576X < (Soldspace_beginS))) {
  5514.       arg1K0 = value_575X;
  5515.       goto L13931;}
  5516.     else {
  5517.       if ((a_576X < (Soldspace_endS))) {
  5518.         merged_arg1K0 = value_575X;
  5519.         copy_object_return_tag = 5;
  5520.         goto copy_object;
  5521.        copy_object_return_5:
  5522.         v_574X = copy_object_return_value;
  5523.         arg1K0 = v_574X;
  5524.         goto L13931;}
  5525.       else {
  5526.         arg1K0 = value_575X;
  5527.         goto L13931;}}}
  5528.   else {
  5529.     arg1K0 = value_575X;
  5530.     goto L13931;}}
  5531.  L13931: {
  5532.   v_569X = arg1K0;
  5533.   Sinterrupt_handlersS = v_569X;
  5534.   value_571X = Sinterrupt_templateS;
  5535.   if ((3 == (3 & value_571X))) {
  5536.     a_572X = -3 + value_571X;
  5537.     if ((a_572X < (Soldspace_beginS))) {
  5538.       arg1K0 = value_571X;
  5539.       goto L13935;}
  5540.     else {
  5541.       if ((a_572X < (Soldspace_endS))) {
  5542.         merged_arg1K0 = value_571X;
  5543.         copy_object_return_tag = 6;
  5544.         goto copy_object;
  5545.        copy_object_return_6:
  5546.         v_570X = copy_object_return_value;
  5547.         arg1K0 = v_570X;
  5548.         goto L13935;}
  5549.       else {
  5550.         arg1K0 = value_571X;
  5551.         goto L13935;}}}
  5552.   else {
  5553.     arg1K0 = value_571X;
  5554.     goto L13935;}}
  5555.  L13935: {
  5556.   v_565X = arg1K0;
  5557.   Sinterrupt_templateS = v_565X;
  5558.   value_567X = RSenvS;
  5559.   if ((3 == (3 & value_567X))) {
  5560.     a_568X = -3 + value_567X;
  5561.     if ((a_568X < (Soldspace_beginS))) {
  5562.       arg1K0 = value_567X;
  5563.       goto L13941;}
  5564.     else {
  5565.       if ((a_568X < (Soldspace_endS))) {
  5566.         merged_arg1K0 = value_567X;
  5567.         copy_object_return_tag = 7;
  5568.         goto copy_object;
  5569.        copy_object_return_7:
  5570.         v_566X = copy_object_return_value;
  5571.         arg1K0 = v_566X;
  5572.         goto L13941;}
  5573.       else {
  5574.         arg1K0 = value_567X;
  5575.         goto L13941;}}}
  5576.   else {
  5577.     arg1K0 = value_567X;
  5578.     goto L13941;}}
  5579.  L13941: {
  5580.   env_562X = arg1K0;
  5581.   RSenvS = env_562X;
  5582.   start_563X = 4 + (RSstackS);
  5583.   end_564X = -7 + (ScontS);
  5584.   arg1K0 = start_563X;
  5585.   goto L14017;}
  5586.  L14017: {
  5587.   addr_560X = arg1K0;
  5588.   if ((addr_560X < end_564X)) {
  5589.     merged_arg1K0 = addr_560X;
  5590.     copy_next_return_tag = 0;
  5591.     goto copy_next;
  5592.    copy_next_return_0:
  5593.     v_561X = copy_next_return_value;
  5594.     arg1K0 = v_561X;
  5595.     goto L14017;}
  5596.   else {
  5597.     arg1K0 = (ScontS);
  5598.     arg1K1 = 0;
  5599.     goto L13956;}}
  5600.  L14003: {
  5601.   addr_558X = arg1K0;
  5602.   if ((addr_558X < end_550X)) {
  5603.     merged_arg1K0 = addr_558X;
  5604.     copy_next_return_tag = 1;
  5605.     goto copy_next;
  5606.    copy_next_return_1:
  5607.     v_559X = copy_next_return_value;
  5608.     arg1K0 = v_559X;
  5609.     goto L14003;}
  5610.   else {
  5611.     if ((env_549X == last_env_548X)) {
  5612.       goto L13961;}
  5613.     else {
  5614.       arg1K0 = env_549X;
  5615.       goto L13971;}}}
  5616.  L13989: {
  5617.   addr_556X = arg1K0;
  5618.   if ((addr_556X < end_555X)) {
  5619.     merged_arg1K0 = addr_556X;
  5620.     copy_next_return_tag = 2;
  5621.     goto copy_next;
  5622.    copy_next_return_2:
  5623.     v_557X = copy_next_return_value;
  5624.     arg1K0 = v_557X;
  5625.     goto L13989;}
  5626.   else {
  5627.     arg1K0 = (*((long *) (-3 + env_554X)));
  5628.     goto L13971;}}
  5629.  L13971: {
  5630.   env_554X = arg1K0;
  5631.   if ((env_554X < (Sstack_beginS))) {
  5632.     goto L13961;}
  5633.   else {
  5634.     if (((Sstack_endS) < env_554X)) {
  5635.       goto L13961;}
  5636.     else {
  5637.       end_555X = (-3 + env_554X) + (-4 & (3 + ((long)(((unsigned long)(*((long *) (-7 + env_554X))))>>8))));
  5638.       arg1K0 = (-3 + env_554X);
  5639.       goto L13989;}}}
  5640.  L13961: {
  5641.   if ((cont_547X == (Sbottom_of_stackS))) {
  5642.     areas_551X = Simpure_areasS;
  5643.     sizes_552X = Simpure_sizesS;
  5644.     count_553X = Simpure_area_countS;
  5645.     arg1K0 = 0;
  5646.     goto L14490;}
  5647.   else {
  5648.     arg1K0 = (*((long *) (-3 + cont_547X)));
  5649.     arg1K1 = env_549X;
  5650.     goto L13956;}}
  5651.  L13956: {
  5652.   cont_547X = arg1K0;
  5653.   last_env_548X = arg1K1;
  5654.   env_549X = *((long *) (9 + cont_547X));
  5655.   end_550X = (-3 + cont_547X) + (-4 & (3 + ((long)(((unsigned long)(*((long *) (-7 + cont_547X))))>>8))));
  5656.   arg1K0 = (-3 + cont_547X);
  5657.   goto L14003;}
  5658.  L14500: {
  5659.   addr_545X = arg1K0;
  5660.   if ((addr_545X < end_544X)) {
  5661.     merged_arg1K0 = addr_545X;
  5662.     copy_next_return_tag = 3;
  5663.     goto copy_next;
  5664.    copy_next_return_3:
  5665.     v_546X = copy_next_return_value;
  5666.     arg1K0 = v_546X;
  5667.     goto L14500;}
  5668.   else {
  5669.     arg1K0 = (1 + i_540X);
  5670.     goto L14490;}}
  5671.  L14490: {
  5672.   i_540X = arg1K0;
  5673.   if ((i_540X < ((long)count_553X))) {
  5674.     start_543X = *(areas_551X + i_540X);
  5675.     end_544X = (*(areas_551X + i_540X)) + (*(sizes_552X + i_540X));
  5676.     arg1K0 = start_543X;
  5677.     goto L14500;}
  5678.   else {
  5679.     if ((3 == (3 & value_630X))) {
  5680.       a_541X = -3 + value_630X;
  5681.       if ((a_541X < (Soldspace_beginS))) {
  5682.         arg1K0 = value_630X;
  5683.         goto L14416;}
  5684.       else {
  5685.         if ((a_541X < (Soldspace_endS))) {
  5686.           merged_arg1K0 = value_630X;
  5687.           copy_object_return_tag = 8;
  5688.           goto copy_object;
  5689.          copy_object_return_8:
  5690.           v_542X = copy_object_return_value;
  5691.           arg1K0 = v_542X;
  5692.           goto L14416;}
  5693.         else {
  5694.           arg1K0 = value_630X;
  5695.           goto L14416;}}}
  5696.     else {
  5697.       arg1K0 = value_630X;
  5698.       goto L14416;}}}
  5699.  L14416: {
  5700.   value_539X = arg1K0;
  5701.   SvalS = RSvalS;
  5702.   SstackS = RSstackS;
  5703.   Scode_pointerS = RScode_pointerS;
  5704.   SenvS = RSenvS;
  5705.   do_gc();
  5706.   RSvalS = SvalS;
  5707.   RSstackS = SstackS;
  5708.   RScode_pointerS = Scode_pointerS;
  5709.   RSenvS = SenvS;
  5710.   post_gc_fdports(); /* Hack for scsh's i/o system. Olin. */
  5711.   Sgc_countS = (1 + (Sgc_countS));
  5712.   close_untraced_portsB_return_tag = 1;
  5713.   goto close_untraced_portsB;
  5714.  close_untraced_portsB_return_1:
  5715.   if ((((ShpS) + ((((Sminimum_recovered_spaceS))<<2))) < (SlimitS))) {
  5716.     collect_saving_temp_return_value = value_539X;
  5717.     goto collect_saving_temp_return;}
  5718.   else {
  5719.     Spending_interruptsS = (4 | (Spending_interruptsS));
  5720.     collect_saving_temp_return_value = value_539X;
  5721.     goto collect_saving_temp_return;}}
  5722.  collect_saving_temp_return:
  5723.   switch (collect_saving_temp_return_tag) {
  5724.   case 0: goto collect_saving_temp_return_0;
  5725.   case 1: goto collect_saving_temp_return_1;
  5726.   case 2: goto collect_saving_temp_return_2;
  5727.   case 3: goto collect_saving_temp_return_3;
  5728.   case 4: goto collect_saving_temp_return_4;
  5729.   case 5: goto collect_saving_temp_return_5;
  5730.   case 6: goto collect_saving_temp_return_6;
  5731.   case 7: goto collect_saving_temp_return_7;
  5732.   case 8: goto collect_saving_temp_return_8;
  5733.   case 9: goto collect_saving_temp_return_9;
  5734.   case 10: goto collect_saving_temp_return_10;
  5735.   case 11: goto collect_saving_temp_return_11;
  5736.   case 12: goto collect_saving_temp_return_12;
  5737.   case 13: goto collect_saving_temp_return_13;
  5738.   case 14: goto collect_saving_temp_return_14;
  5739.   case 15: goto collect_saving_temp_return_15;
  5740.   case 16: goto collect_saving_temp_return_16;
  5741.   case 17: goto collect_saving_temp_return_17;
  5742.   case 18: goto collect_saving_temp_return_18;
  5743.   }}
  5744.  
  5745.  copy_next: {
  5746.   addr_628X = merged_arg1K0;{
  5747.   next_589X = 4 + addr_628X;
  5748.   thing_590X = *((long *) addr_628X);
  5749.   if ((2 == (3 & thing_590X))) {
  5750.     if (((31 & (((thing_590X)>>2))) < 15)) {
  5751.       goto L11536;}
  5752.     else {
  5753.       copy_next_return_value = (next_589X + (-4 & (3 + ((long)(((unsigned long)thing_590X)>>8)))));
  5754.       goto copy_next_return;}}
  5755.   else {
  5756.     goto L11536;}}
  5757.  L11536: {
  5758.   if ((3 == (3 & thing_590X))) {
  5759.     a_592X = -3 + thing_590X;
  5760.     if ((a_592X < (Soldspace_beginS))) {
  5761.       copy_next_return_value = next_589X;
  5762.       goto copy_next_return;}
  5763.     else {
  5764.       if ((a_592X < (Soldspace_endS))) {
  5765.         merged_arg1K0 = thing_590X;
  5766.         copy_object_return_tag = 9;
  5767.         goto copy_object;
  5768.        copy_object_return_9:
  5769.         value_591X = copy_object_return_value;
  5770.         *((long *) addr_628X) = value_591X;
  5771.         copy_next_return_value = next_589X;
  5772.         goto copy_next_return;}
  5773.       else {
  5774.         copy_next_return_value = next_589X;
  5775.         goto copy_next_return;}}}
  5776.   else {
  5777.     copy_next_return_value = next_589X;
  5778.     goto copy_next_return;}}
  5779.  copy_next_return:
  5780.   switch (copy_next_return_tag) {
  5781.   case 0: goto copy_next_return_0;
  5782.   case 1: goto copy_next_return_1;
  5783.   case 2: goto copy_next_return_2;
  5784.   case 3: goto copy_next_return_3;
  5785.   }}
  5786.  
  5787.  copy_object: {
  5788.   thing_626X = merged_arg1K0;{
  5789.   h_594X = *((long *) (-7 + thing_626X));
  5790.   if ((3 == (3 & h_594X))) {
  5791.     copy_object_return_value = h_594X;
  5792.     goto copy_object_return;}
  5793.   else {
  5794.     if ((1070 == h_594X)) {
  5795.       descriptor_595X = *((long *) (-3 + thing_626X));
  5796.       if ((3 == (3 & descriptor_595X))) {
  5797.         a_593X = -3 + descriptor_595X;
  5798.         if ((a_593X < (Soldspace_beginS))) {
  5799.           goto L9586;}
  5800.         else {
  5801.           if ((a_593X < (Soldspace_endS))) {
  5802.             SvalS = RSvalS;
  5803.             SstackS = RSstackS;
  5804.             Scode_pointerS = RScode_pointerS;
  5805.             SenvS = RSenvS;
  5806.             v_596X = copy_weak_pointer(thing_626X);
  5807.             RSvalS = SvalS;
  5808.             RSstackS = SstackS;
  5809.             RScode_pointerS = Scode_pointerS;
  5810.             RSenvS = SenvS;
  5811.             copy_object_return_value = v_596X;
  5812.             goto copy_object_return;}
  5813.           else {
  5814.             goto L9586;}}}
  5815.       else {
  5816.         goto L9586;}}
  5817.     else {
  5818.       goto L9586;}}}
  5819.  L9586: {
  5820.   *((long *) (ShpS)) = h_594X;
  5821.   ShpS = (4 + (ShpS));
  5822.   new_598X = 3 + (ShpS);
  5823.   *((long *) (-7 + thing_626X)) = new_598X;
  5824.   x1_599X = ShpS;
  5825.   arg1K0 = (-3 + thing_626X);
  5826.   goto L9600;}
  5827.  L9600: {
  5828.   o_597X = arg1K0;
  5829.   if (((ShpS) < (x1_599X + (-4 & (3 + ((long)(((unsigned long)h_594X)>>8))))))) {
  5830.     *((long *) (ShpS)) = (*((long *) o_597X));
  5831.     ShpS = (4 + (ShpS));
  5832.     arg1K0 = (4 + o_597X);
  5833.     goto L9600;}
  5834.   else {
  5835.     copy_object_return_value = new_598X;
  5836.     goto copy_object_return;}}
  5837.  copy_object_return:
  5838.   switch (copy_object_return_tag) {
  5839.   case 0: goto copy_object_return_0;
  5840.   case 1: goto copy_object_return_1;
  5841.   case 2: goto copy_object_return_2;
  5842.   case 3: goto copy_object_return_3;
  5843.   case 4: goto copy_object_return_4;
  5844.   case 5: goto copy_object_return_5;
  5845.   case 6: goto copy_object_return_6;
  5846.   case 7: goto copy_object_return_7;
  5847.   case 8: goto copy_object_return_8;
  5848.   case 9: goto copy_object_return_9;
  5849.   }}
  5850.  
  5851.  close_untraced_portsB: {
  5852. { arg1K0 = 2;
  5853.   goto L13688;}
  5854.  L13734: {
  5855.   merged_arg1K0 = port_601X;
  5856.   close_port_return_tag = 1;
  5857.   goto close_port;
  5858.  close_port_return_1:
  5859.   fputs("Port closed: ", (Scurrent_output_portS));
  5860.   string_605X = *((long *) (9 + port_601X));
  5861.   fwrite((void *)(-3 + string_605X), sizeof(char), (-1 + ((long)(((unsigned long)(*((long *) (-7 + string_605X))))>>8))), (Scurrent_output_portS));
  5862.   putc(10, (Scurrent_output_portS));
  5863.   arg1K0 = 1;
  5864.   goto L13714;}
  5865.  L13719: {
  5866.   arg1K0 = (1 + i_600X);
  5867.   goto L13688;}
  5868.  L13714: {
  5869.   new_604X = arg1K0;
  5870.   *((Sopen_vm_portsS) + i_600X) = new_604X;
  5871.   goto L13719;}
  5872.  L13688: {
  5873.   i_600X = arg1K0;
  5874.   if ((i_600X == (Snumber_of_portsS))) {
  5875.     close_untraced_portsB_return_value = 0;
  5876.     goto close_untraced_portsB_return;}
  5877.   else {
  5878.     port_601X = *((Sopen_vm_portsS) + i_600X);
  5879.     if ((1 == port_601X)) {
  5880.       goto L13719;}
  5881.     else {
  5882.       header_602X = *((long *) (-7 + port_601X));
  5883.       if ((3 == (3 & header_602X))) {
  5884.         arg1K0 = header_602X;
  5885.         goto L13714;}
  5886.       else {
  5887.         header_603X = *((long *) (-7 + (*((long *) (9 + port_601X)))));
  5888.         if ((3 == (3 & header_603X))) {
  5889.           goto L13734;}
  5890.         else {
  5891.           goto L13734;}}}}}
  5892.  close_untraced_portsB_return:
  5893.   switch (close_untraced_portsB_return_tag) {
  5894.   case 0: goto close_untraced_portsB_return_0;
  5895.   case 1: goto close_untraced_portsB_return_1;
  5896.   }}
  5897.  
  5898.  close_port: {
  5899.   vm_port_623X = merged_arg1K0;{
  5900.   if (((*((long *) (1 + vm_port_623X))) < 0)) {
  5901.     goto close_port_return;}
  5902.   else {
  5903.     index_608X = (((*((long *) (1 + vm_port_623X))))>>2);
  5904.     if ((0 == index_608X)) {
  5905.       goto close_port_return;}
  5906.     else {
  5907.       if ((1 == index_608X)) {
  5908.         goto close_port_return;}
  5909.       else {
  5910.         mode_607X = (((*((long *) (-3 + vm_port_623X))))>>2);
  5911.         port_606X = *((Sopen_portsS) + ((((*((long *) (1 + vm_port_623X))))>>2)));
  5912.         if ((1 == mode_607X)) {
  5913.           fclose(port_606X);
  5914.           goto L11193;}
  5915.         else {
  5916.           if ((2 == mode_607X)) {
  5917.             fclose(port_606X);
  5918.             goto L11193;}
  5919.           else {
  5920.             TTerror("this shouldn't happen when closing a port", 0, 0, 0, 0);
  5921.             goto L11193;}}}}}}
  5922.  L11193: {
  5923.   *((long *) (-3 + vm_port_623X)) = 0;
  5924.   *((long *) (1 + vm_port_623X)) = -4;
  5925.   *((Sopen_vm_portsS) + index_608X) = 1;
  5926.   goto close_port_return;}
  5927.  close_port_return:
  5928.   switch (close_port_return_tag) {
  5929.   case 0: goto close_port_return_0;
  5930.   case 1: goto close_port_return_1;
  5931.   }}
  5932.  
  5933.  write_number: {
  5934.   x_621X = merged_arg1K0;
  5935.   port_622X = merged_arg2K1;{
  5936.   if ((x_621X < 0)) {
  5937.     putc(45, port_622X);
  5938.     arg1K0 = (0 - x_621X);
  5939.     goto L29338;}
  5940.   else {
  5941.     arg1K0 = x_621X;
  5942.     goto L29338;}}
  5943.  L29338: {
  5944.   v_609X = arg1K0;
  5945.   SvalS = RSvalS;
  5946.   SstackS = RSstackS;
  5947.   Scode_pointerS = RScode_pointerS;
  5948.   SenvS = RSenvS;
  5949.   really_write_number(v_609X, port_622X);
  5950.   RSvalS = SvalS;
  5951.   RSstackS = SstackS;
  5952.   RScode_pointerS = Scode_pointerS;
  5953.   RSenvS = SenvS;
  5954.   putc(10, port_622X);
  5955.   goto write_number_return;}
  5956.  write_number_return:
  5957.   switch (write_number_return_tag) {
  5958.   case 0: goto write_number_return_0;
  5959.   case 1: goto write_number_return_1;
  5960.   case 2: goto write_number_return_2;
  5961.   case 3: goto write_number_return_3;
  5962.   case 4: goto write_number_return_4;
  5963.   }}
  5964.  
  5965.  stob_equalP: {
  5966.   stob1_619X = merged_arg1K0;
  5967.   stob2_620X = merged_arg1K1;{
  5968.   z2_611X = *((long *) (-7 + stob2_620X));
  5969.   z1_610X = *((long *) (-7 + stob1_619X));
  5970.   if (((128 | z1_610X) == (128 | z2_611X))) {
  5971.     arg1K0 = 0;
  5972.     goto L8355;}
  5973.   else {
  5974.     stob_equalP_return_value = 0;
  5975.     goto stob_equalP_return;}}
  5976.  L8355: {
  5977.   i_612X = arg1K0;
  5978.   if ((i_612X < ((((3 + ((long)(((unsigned long)z1_610X)>>8))))>>2)))) {
  5979.     if (((*((long *) ((-3 + stob1_619X) + (((i_612X)<<2))))) == (*((long *) ((-3 + stob2_620X) + (((i_612X)<<2))))))) {
  5980.       arg1K0 = (1 + i_612X);
  5981.       goto L8355;}
  5982.     else {
  5983.       stob_equalP_return_value = 0;
  5984.       goto stob_equalP_return;}}
  5985.   else {
  5986.     stob_equalP_return_value = 1;
  5987.     goto stob_equalP_return;}}
  5988.  stob_equalP_return:
  5989.   switch (stob_equalP_return_tag) {
  5990.   case 0: goto stob_equalP_return_0;
  5991.   case 1: goto stob_equalP_return_1;
  5992.   }}
  5993.  
  5994.  extract_string: {
  5995.   string_617X = merged_arg1K0;{
  5996.   z_613X = -1 + ((long)(((unsigned long)(*((long *) (-7 + string_617X))))>>8));
  5997.   v_614X = (unsigned char *)calloc( 1, 1 + z_613X);
  5998.   arg1K0 = 0;
  5999.   goto L10873;}
  6000.  L10873: {
  6001.   i_615X = arg1K0;
  6002.   if ((i_615X < z_613X)) {
  6003.     *(v_614X + i_615X) = (((long)(*((unsigned char *) ((-3 + string_617X) + i_615X)))));
  6004.     arg1K0 = (1 + i_615X);
  6005.     goto L10873;}
  6006.   else {
  6007.     extract_string_return_value = v_614X;
  6008.     goto extract_string_return;}}
  6009.  extract_string_return:
  6010.   switch (extract_string_return_tag) {
  6011.   case 0: goto extract_string_return_0;
  6012.   case 1: goto extract_string_return_1;
  6013.   case 2: goto extract_string_return_2;
  6014.   }}
  6015. }
  6016.  
  6017. long enter_string(unsigned char *string_677X)
  6018. {
  6019.   extern long ShpS;
  6020.   long arg1K0;
  6021.   long new_678X;
  6022.   long len_679X;
  6023.   long z_680X;
  6024.   long s_681X;
  6025.   long i_682X;
  6026.  
  6027.  {z_680X = strlen(string_677X);
  6028.   len_679X = 1 + z_680X;
  6029.   *((long *) (ShpS)) = (62 + (((len_679X)<<8)));
  6030.   ShpS = (4 + (ShpS));
  6031.   new_678X = 3 + (ShpS);
  6032.   ShpS = ((ShpS) + (-4 & (3 + len_679X)));
  6033.   if ((0 < len_679X)) {
  6034.     *((long *) (-4 + (ShpS))) = 0;
  6035.     arg1K0 = new_678X;
  6036.     goto L11945;}
  6037.   else {
  6038.     arg1K0 = new_678X;
  6039.     goto L11945;}}
  6040.  L11945: {
  6041.   s_681X = arg1K0;
  6042.   arg1K0 = 0;
  6043.   goto L11947;}
  6044.  L11947: {
  6045.   i_682X = arg1K0;
  6046.   if ((i_682X < z_680X)) {
  6047.     *((unsigned char *) ((-3 + s_681X) + i_682X)) = ((unsigned char)((long)((*(string_677X + i_682X)))));
  6048.     arg1K0 = (1 + i_682X);
  6049.     goto L11947;}
  6050.   else {
  6051.     return(s_681X);}}}
  6052.  
  6053. long copy_weak_pointer(long weak_683X)
  6054. {
  6055.   extern long ShpS;
  6056.   extern long Sweak_pointer_limitS;
  6057.   extern long Sweak_pointer_hpS;
  6058.   unsigned char tempWW552_684X;
  6059.   long old_685X;
  6060.   long new_686X;
  6061.  
  6062.  {tempWW552_684X = -1 == (Sweak_pointer_hpS);
  6063.   if (tempWW552_684X) {
  6064.     goto L8005;}
  6065.   else {
  6066.     if (((Sweak_pointer_hpS) < (Sweak_pointer_limitS))) {
  6067.       goto L8010;}
  6068.     else {
  6069.       goto L8005;}}}
  6070.  L8005: {
  6071.   old_685X = Sweak_pointer_hpS;
  6072.   Sweak_pointer_hpS = (ShpS);
  6073.   ShpS = (1024 + (ShpS));
  6074.   Sweak_pointer_limitS = (ShpS);
  6075.   *((long *) (Sweak_pointer_hpS)) = 261186;
  6076.   *((long *) (8 + (Sweak_pointer_hpS))) = old_685X;
  6077.   goto L8010;}
  6078.  L8010: {
  6079.   new_686X = 7 + (Sweak_pointer_hpS);
  6080.   *((long *) (4 + (Sweak_pointer_hpS))) = (*((long *) (-3 + weak_683X)));
  6081.   Sweak_pointer_hpS = (8 + (Sweak_pointer_hpS));
  6082.   *((long *) (-7 + weak_683X)) = new_686X;
  6083.   return(new_686X);}}
  6084.  
  6085. void really_write_number(long x_687X, FILE * port_688X)
  6086. {
  6087.   extern void really_write_number(long, FILE *);
  6088.   long v_689X;
  6089.   long v_690X;
  6090.  
  6091.  {if ((x_687X < 10)) {
  6092.     goto L29300;}
  6093.   else {
  6094.     v_689X = x_687X / 10;
  6095.     really_write_number(v_689X, port_688X);
  6096.     goto L29300;}}
  6097.  L29300: {
  6098.   v_690X = x_687X % 10;
  6099.   putc(((48 + v_690X)), port_688X);
  6100.   return;}}
  6101.  
  6102. long read_number(FILE * port_691X)
  6103. {
  6104.   long arg1K0;
  6105.   unsigned char arg4K1;
  6106.   unsigned char arg4K0;
  6107.   unsigned char ch_692X;
  6108.   long r_693X;
  6109.   unsigned char ch_694X;
  6110.   long r_695X;
  6111.   unsigned char Kchar_696X;
  6112.   unsigned char ch_697X;
  6113.   unsigned char Kchar_698X;
  6114.   unsigned char ch_699X;
  6115.  
  6116.  {goto L4913;}
  6117.  L4942: {
  6118.   ch_692X = arg4K0;
  6119.   arg1K0 = 0;
  6120.   arg4K1 = ch_692X;
  6121.   goto L4944;}
  6122.  L4944: {
  6123.   r_693X = arg1K0;
  6124.   ch_694X = arg4K1;
  6125.   r_695X = (-48 + ((long)(ch_694X))) + (10 * r_693X);
  6126.   { int TTchar;
  6127.     PS_GETC(port_691X, TTchar);
  6128.     if (EOF == TTchar) {
  6129.       return(r_695X);}
  6130.     else {
  6131.       unsigned char Kchar_696X = TTchar;
  6132.       ch_697X = Kchar_696X;
  6133.       if ((((long)ch_697X) < 48)) {
  6134.         return(r_695X);}
  6135.       else {
  6136.         if ((57 < ((long)ch_697X))) {
  6137.           return(r_695X);}
  6138.         else {
  6139.           arg1K0 = r_695X;
  6140.           arg4K1 = Kchar_696X;
  6141.           goto L4944;}}}}}
  6142.  L4913: {
  6143.   { int TTchar;
  6144.     PS_GETC(port_691X, TTchar);
  6145.     if (EOF == TTchar) {
  6146.       arg4K0 = -1;
  6147.       goto L4942;}
  6148.     else {
  6149.       unsigned char Kchar_698X = TTchar;
  6150.       ch_699X = Kchar_698X;
  6151.       if ((((long)ch_699X) < 48)) {
  6152.         goto L4913;}
  6153.       else {
  6154.         if ((57 < ((long)ch_699X))) {
  6155.           goto L4913;}
  6156.         else {
  6157.           arg4K0 = Kchar_698X;
  6158.           goto L4942;}}}}}}
  6159.  
  6160. long call_startup_procedure(long startup_proc_700X, unsigned char **startup_vector_701X, long startup_vector_length_702X)
  6161. {
  6162.   extern long Sbottom_of_stackS;
  6163.   extern long SenvS;
  6164.   extern long Sinterrupt_templateS;
  6165.   extern long StemplateS;
  6166.   extern long Sdynamic_stateS;
  6167.   extern long Sexception_handlerS;
  6168.   extern long Sinterrupt_handlersS;
  6169.   extern long Senabled_interruptsS;
  6170.   extern long Spending_interruptsS;
  6171.   extern long *Sopen_vm_portsS;
  6172.   extern long Scode_pointerS;
  6173.   extern long Tinterpret();
  6174.   extern long SnargsS;
  6175.   extern long SvalS;
  6176.   extern long SstackS;
  6177.   extern long Sstack_beginS;
  6178.   extern long Sstack_limitS;
  6179.   extern unsigned char Sexception_space_usedPS;
  6180.   extern long enter_string(unsigned char*);
  6181.   extern long ShpS;
  6182.   long arg1K0;
  6183.   long new_703X;
  6184.   long len_704X;
  6185.   long tem_705X;
  6186.   long new_706X;
  6187.   long v_707X;
  6188.   unsigned char option_708X;
  6189.   long vector_709X;
  6190.   long i_710X;
  6191.   unsigned char x_711X;
  6192.   long val_712X;
  6193.  
  6194.  {len_704X = ((startup_vector_length_702X)<<2);
  6195.   *((long *) (ShpS)) = (10 + (((len_704X)<<8)));
  6196.   ShpS = (4 + (ShpS));
  6197.   new_703X = 3 + (ShpS);
  6198.   ShpS = ((ShpS) + (-4 & (3 + len_704X)));
  6199.   if ((0 < len_704X)) {
  6200.     *((long *) (-4 + (ShpS))) = 0;
  6201.     arg1K0 = new_703X;
  6202.     goto L15473;}
  6203.   else {
  6204.     arg1K0 = new_703X;
  6205.     goto L15473;}}
  6206.  L12652: {
  6207.   SenvS = 13;
  6208.   tem_705X = Sinterrupt_templateS;
  6209.   StemplateS = tem_705X;
  6210.   Scode_pointerS = (-3 + (*((long *) (-3 + tem_705X))));
  6211.   SnargsS = 0;
  6212.   SvalS = 13;
  6213.   Sdynamic_stateS = 25;
  6214.   Sexception_handlerS = 25;
  6215.   Sinterrupt_handlersS = 25;
  6216.   Senabled_interruptsS = 0;
  6217.   Spending_interruptsS = 0;
  6218.   *((long *) (SstackS)) = vector_709X;
  6219.   SstackS = (-4 + (SstackS));
  6220.   *((long *) (SstackS)) = (*((Sopen_vm_portsS) + 0));
  6221.   SstackS = (-4 + (SstackS));
  6222.   *((long *) (SstackS)) = (*((Sopen_vm_portsS) + 1));
  6223.   SstackS = (-4 + (SstackS));
  6224.   *((long *) (ShpS)) = 578;
  6225.   ShpS = (4 + (ShpS));
  6226.   new_706X = 3 + (ShpS);
  6227.   ShpS = (4 + (ShpS));
  6228.   *((long *) (-4 + (ShpS))) = 0;
  6229.   *((unsigned char *) (-3 + new_706X)) = 23;
  6230.   *((unsigned char *) (-2 + new_706X)) = 3;
  6231.   Scode_pointerS = (-3 + new_706X);
  6232.   SvalS = startup_proc_700X;
  6233.   goto L15407;}
  6234.  L12697: {
  6235.   Sstack_limitS = (296 + (Sstack_beginS));
  6236.   Sexception_space_usedPS = 0;
  6237.   goto L12652;}
  6238.  L15407: {
  6239.   option_708X = TTrun_machine((long)Tinterpret);
  6240.   if ((0 == ((long)option_708X))) {
  6241.     return((SvalS));}
  6242.   else {
  6243.     if ((1 == ((long)option_708X))) {
  6244.       v_707X = ((long(*)())(*((long *) (-3 + (*((long *) (1 + (SvalS))))))))((SnargsS), (4 + (SstackS)));
  6245.       SvalS = v_707X;
  6246.       SstackS = ((SstackS) - ((((-1 - (SnargsS)))<<2)));
  6247.       goto L15407;}
  6248.     else {
  6249.       TTerror("unkown VM return option", 1, ((long)option_708X), 0, 0);
  6250.       return(-1);}}}
  6251.  L15473: {
  6252.   vector_709X = arg1K0;
  6253.   arg1K0 = 0;
  6254.   goto L15475;}
  6255.  L15475: {
  6256.   i_710X = arg1K0;
  6257.   if ((i_710X < startup_vector_length_702X)) {
  6258.     val_712X = enter_string((*(startup_vector_701X + i_710X)));
  6259.     *((long *) ((-3 + vector_709X) + (((i_710X)<<2)))) = val_712X;
  6260.     arg1K0 = (1 + i_710X);
  6261.     goto L15475;}
  6262.   else {
  6263.     SstackS = (-11 + (Sbottom_of_stackS));
  6264.     *((long *) (-3 + (Sbottom_of_stackS))) = 1;
  6265.     if ((Sexception_space_usedPS)) {
  6266.       x_711X = (Sstack_limitS) < (-296 + (SstackS));
  6267.       if (x_711X) {
  6268.         goto L12697;}
  6269.       else {
  6270.         TTerror("no space on stack to reserve exception space", 0, 0, 0, 0);
  6271.         goto L12697;}}
  6272.     else {
  6273.       goto L12652;}}}}
  6274.  
  6275. void initialize_vm(long memory_begin_713X, long memory_size_714X, long stack_begin_715X, long stack_size_716X)
  6276. {
  6277.   extern long Soldspace_beginS;
  6278.   extern long Soldspace_endS;
  6279.   extern long Snewspace_beginS;
  6280.   extern long Snewspace_endS;
  6281.   extern long SlimitS;
  6282.   extern long Snumber_of_portsS;
  6283.   extern FILE * Scurrent_input_portS;
  6284.   extern FILE * Scurrent_output_portS;
  6285.   extern FILE * *Sopen_portsS;
  6286.   extern long enter_string(unsigned char*);
  6287.   extern long ShpS;
  6288.   extern long Sstack_beginS;
  6289.   extern long Sstack_limitS;
  6290.   extern long Sstack_endS;
  6291.   extern long SstackS;
  6292.   extern long SenvS;
  6293.   extern long ScontS;
  6294.   extern long Sbottom_of_stackS;
  6295.   extern long Sinterrupt_templateS;
  6296.   extern long *Sopen_vm_portsS;
  6297.   long arg1K0;
  6298.   unsigned char merged_arg0K1;
  6299.   unsigned char merged_arg0K0;
  6300.  
  6301.   int make_template_containing_ops_return_tag;
  6302.   long make_template_containing_ops_return_value;
  6303.   long semisize_717X;
  6304.   unsigned char tempWW560_718X;
  6305.   long i_719X;
  6306.   long v_720X;
  6307.   long cont_721X;
  6308.   long template_722X;
  6309.   long new_723X;
  6310.   long d_724X;
  6311.   long new_725X;
  6312.   long d_726X;
  6313.   long *v_727X;
  6314.   long length_728X;
  6315.   long new_729X;
  6316.   long new_730X;
  6317.   long c_731X;
  6318.   unsigned char op1_732X;
  6319.   unsigned char op2_733X;
  6320.  {semisize_717X = (((-2 & memory_size_714X))<<1);
  6321.   Snewspace_beginS = memory_begin_713X;
  6322.   Snewspace_endS = ((Snewspace_beginS) + semisize_717X);
  6323.   Soldspace_beginS = (Snewspace_endS);
  6324.   Soldspace_endS = ((Soldspace_beginS) + semisize_717X);
  6325.   ShpS = (Snewspace_beginS);
  6326.   SlimitS = (Snewspace_endS);
  6327.   Sopen_portsS = ((FILE **)malloc(sizeof(FILE *) * (Snumber_of_portsS)));
  6328.   Sopen_vm_portsS = ((long*)malloc(sizeof(long) * (Snumber_of_portsS)));
  6329.   tempWW560_718X = NULL == (Sopen_portsS);
  6330.   if (tempWW560_718X) {
  6331.     goto L12952;}
  6332.   else {
  6333.     if ((NULL == (Sopen_vm_portsS))) {
  6334.       goto L12952;}
  6335.     else {
  6336.       goto L12957;}}}
  6337.  L12952: {
  6338.   TTerror("out of memory, unable to continue", 0, 0, 0, 0);
  6339.   goto L12957;}
  6340.  L13064: {
  6341.   i_719X = arg1K0;
  6342.   if ((i_719X < length_728X)) {
  6343.     *(v_727X + i_719X) = 1;
  6344.     arg1K0 = (1 + i_719X);
  6345.     goto L13064;}
  6346.   else {
  6347.     *((Sopen_portsS) + 0) = (Scurrent_input_portS);
  6348.     *((Sopen_portsS) + 1) = (Scurrent_output_portS);
  6349.     d_726X = enter_string("so");
  6350.     *((long *) (ShpS)) = 4118;
  6351.     ShpS = (4 + (ShpS));
  6352.     new_725X = 3 + (ShpS);
  6353.     ShpS = (16 + (ShpS));
  6354.     *((long *) (-4 + (ShpS))) = 0;
  6355.     *((long *) (-3 + new_725X)) = 8;
  6356.     *((long *) (1 + new_725X)) = 4;
  6357.     *((long *) (5 + new_725X)) = 1;
  6358.     *((long *) (9 + new_725X)) = d_726X;
  6359.     d_724X = enter_string("si");
  6360.     *((long *) (ShpS)) = 4118;
  6361.     ShpS = (4 + (ShpS));
  6362.     new_723X = 3 + (ShpS);
  6363.     ShpS = (16 + (ShpS));
  6364.     *((long *) (-4 + (ShpS))) = 0;
  6365.     *((long *) (-3 + new_723X)) = 4;
  6366.     *((long *) (1 + new_723X)) = 0;
  6367.     *((long *) (5 + new_723X)) = 1;
  6368.     *((long *) (9 + new_723X)) = d_724X;
  6369.     *((Sopen_vm_portsS) + 0) = new_723X;
  6370.     *((Sopen_vm_portsS) + 1) = new_725X;
  6371.     Sstack_beginS = stack_begin_715X;
  6372.     Sstack_endS = (stack_begin_715X + (((stack_size_716X)<<2)));
  6373.     Sstack_limitS = (Sstack_beginS);
  6374.     SstackS = (-4 + (Sstack_endS));
  6375.     ScontS = 1;
  6376.     SenvS = 17;
  6377.     merged_arg0K0 = 22;
  6378.     merged_arg0K1 = 28;
  6379.     make_template_containing_ops_return_tag = 0;
  6380.     goto make_template_containing_ops;
  6381.    make_template_containing_ops_return_0:
  6382.     template_722X = make_template_containing_ops_return_value;
  6383.     SstackS = (-20 + (SstackS));
  6384.     *((long *) (4 + (SstackS))) = 4258;
  6385.     cont_721X = 11 + (SstackS);
  6386.     *((long *) (1 + cont_721X)) = 0;
  6387.     *((long *) (5 + cont_721X)) = template_722X;
  6388.     *((long *) (9 + cont_721X)) = (SenvS);
  6389.     *((long *) (-3 + cont_721X)) = (ScontS);
  6390.     ScontS = cont_721X;
  6391.     Sbottom_of_stackS = (ScontS);
  6392.     merged_arg0K0 = 31;
  6393.     merged_arg0K1 = 127;
  6394.     make_template_containing_ops_return_tag = 1;
  6395.     goto make_template_containing_ops;
  6396.    make_template_containing_ops_return_1:
  6397.     v_720X = make_template_containing_ops_return_value;
  6398.     Sinterrupt_templateS = v_720X;
  6399.     return;}}
  6400.  L12957: {
  6401.   v_727X = Sopen_vm_portsS;
  6402.   length_728X = Snumber_of_portsS;
  6403.   arg1K0 = 0;
  6404.   goto L13064;}
  6405.  make_template_containing_ops: {
  6406.   op1_732X = merged_arg0K0;
  6407.   op2_733X = merged_arg0K1;{
  6408.   *((long *) (ShpS)) = 578;
  6409.   ShpS = (4 + (ShpS));
  6410.   new_729X = 3 + (ShpS);
  6411.   ShpS = (4 + (ShpS));
  6412.   *((long *) (-4 + (ShpS))) = 0;
  6413.   *((long *) (ShpS)) = 2090;
  6414.   ShpS = (4 + (ShpS));
  6415.   new_730X = 3 + (ShpS);
  6416.   ShpS = (8 + (ShpS));
  6417.   *((long *) (-4 + (ShpS))) = 0;
  6418.   *((long *) (-3 + new_730X)) = new_729X;
  6419.   *((unsigned char *) (-3 + new_729X)) = ((unsigned char)((long)op1_732X));
  6420.   *((unsigned char *) (-2 + new_729X)) = ((unsigned char)((long)op2_733X));
  6421.   make_template_containing_ops_return_value = new_730X;
  6422.   goto make_template_containing_ops_return;}
  6423.  make_template_containing_ops_return:
  6424.   switch (make_template_containing_ops_return_tag) {
  6425.   case 0: goto make_template_containing_ops_return_0;
  6426.   case 1: goto make_template_containing_ops_return_1;
  6427.   }}
  6428. }
  6429.  
  6430. long required_init_space(unsigned char **startup_vector_734X, long startup_vector_length_735X)
  6431. {
  6432.   long arg1K1;
  6433.   long arg1K0;
  6434.   long i_736X;
  6435.   long s_737X;
  6436.  
  6437.  {arg1K0 = 0;
  6438.   arg1K1 = 0;
  6439.   goto L5373;}
  6440.  L5373: {
  6441.   i_736X = arg1K0;
  6442.   s_737X = arg1K1;
  6443.   if ((i_736X < startup_vector_length_735X)) {
  6444.     arg1K0 = (1 + i_736X);
  6445.     arg1K1 = (1 + (s_737X + ((((4 + (strlen((*(startup_vector_734X + i_736X))))))>>2))));
  6446.     goto L5373;}
  6447.   else {
  6448.     return((22 + s_737X));}}}
  6449.  
  6450. void note_interruptB(unsigned char interrupt_738X)
  6451. {
  6452.   extern long Spending_interruptsS;
  6453.   long x_739X;
  6454.  
  6455.  {PS_SHIFT_LEFT(1, ((long)interrupt_738X), x_739X)
  6456.   Spending_interruptsS = ((Spending_interruptsS) | x_739X);
  6457.   return;}}
  6458.  
  6459. void do_gc()
  6460. {
  6461.   extern long Sweak_pointer_hpS;
  6462.   extern long Sweak_pointer_limitS;
  6463.   extern long SlimitS;
  6464.   extern long ShpS;
  6465.   extern long Soldspace_beginS;
  6466.   extern long Soldspace_endS;
  6467.   extern long copy_weak_pointer(long);
  6468.   extern long Snewspace_beginS;
  6469.   long arg1K1;
  6470.   long arg1K0;
  6471.   long RShpS = ShpS;
  6472.   long value_740X;
  6473.   long scan_741X;
  6474.   long value_742X;
  6475.   long a_743X;
  6476.   long h_744X;
  6477.   long start_745X;
  6478.   long end_746X;
  6479.   long next_747X;
  6480.   long value_748X;
  6481.   long o_749X;
  6482.   long new_750X;
  6483.   long x1_751X;
  6484.   long v_752X;
  6485.   long descriptor_753X;
  6486.   long a_754X;
  6487.   long h_755X;
  6488.   long a_756X;
  6489.   long end_757X;
  6490.   long x1_758X;
  6491.   long addr_759X;
  6492.   long next_760X;
  6493.   long thing_761X;
  6494.   long start_762X;
  6495.   long end_763X;
  6496.  
  6497.  {arg1K0 = (Snewspace_beginS);
  6498.   goto L13830;}
  6499.  L7761: {
  6500.   arg1K0 = (8 + scan_741X);
  6501.   goto L7716;}
  6502.  L7756: {
  6503.   value_740X = arg1K0;
  6504.   *((long *) (4 + scan_741X)) = value_740X;
  6505.   goto L7761;}
  6506.  L7716: {
  6507.   scan_741X = arg1K0;
  6508.   if ((scan_741X < end_746X)) {
  6509.     *((long *) scan_741X) = 1070;
  6510.     value_742X = *((long *) (4 + scan_741X));
  6511.     if ((3 == (3 & value_742X))) {
  6512.       a_743X = -3 + value_742X;
  6513.       if ((a_743X < (Soldspace_beginS))) {
  6514.         goto L7761;}
  6515.       else {
  6516.         if ((a_743X < (Soldspace_endS))) {
  6517.           if ((3 == (3 & value_742X))) {
  6518.             h_744X = *((long *) (-7 + value_742X));
  6519.             if ((3 == (3 & h_744X))) {
  6520.               arg1K0 = h_744X;
  6521.               goto L7756;}
  6522.             else {
  6523.               arg1K0 = 1;
  6524.               goto L7756;}}
  6525.           else {
  6526.             goto L7761;}}
  6527.         else {
  6528.           goto L7761;}}}
  6529.     else {
  6530.       goto L7761;}}
  6531.   else {
  6532.     if ((-1 == next_747X)) {
  6533.       if ((end_757X < (Sweak_pointer_limitS))) {
  6534.         *((long *) end_757X) = (66 + ((((-4 & (-4 + ((Sweak_pointer_limitS) - end_757X))))<<8)));
  6535.         ShpS = RShpS;
  6536.         return;}
  6537.       else {
  6538.         ShpS = RShpS;
  6539.         return;}}
  6540.     else {
  6541.       arg1K0 = (-1024 + next_747X);
  6542.       arg1K1 = next_747X;
  6543.       goto L11112;}}}
  6544.  L11112: {
  6545.   start_745X = arg1K0;
  6546.   end_746X = arg1K1;
  6547.   next_747X = *((long *) (8 + start_745X));
  6548.   arg1K0 = start_745X;
  6549.   goto L7716;}
  6550.  L31642: {
  6551.   value_748X = arg1K0;
  6552.   *((long *) addr_759X) = value_748X;
  6553.   arg1K0 = next_760X;
  6554.   goto L13896;}
  6555.  L31695: {
  6556.   o_749X = arg1K0;
  6557.   if (((RShpS) < (x1_751X + (-4 & (3 + ((long)(((unsigned long)h_755X)>>8))))))) {
  6558.     *((long *) (RShpS)) = (*((long *) o_749X));
  6559.     RShpS = (4 + (RShpS));
  6560.     arg1K0 = (4 + o_749X);
  6561.     goto L31695;}
  6562.   else {
  6563.     arg1K0 = new_750X;
  6564.     goto L31642;}}
  6565.  L31679: {
  6566.   *((long *) (RShpS)) = h_755X;
  6567.   RShpS = (4 + (RShpS));
  6568.   new_750X = 3 + (RShpS);
  6569.   *((long *) (-7 + thing_761X)) = new_750X;
  6570.   x1_751X = RShpS;
  6571.   arg1K0 = (-3 + thing_761X);
  6572.   goto L31695;}
  6573.  L31634: {
  6574.   if ((3 == (3 & thing_761X))) {
  6575.     a_754X = -3 + thing_761X;
  6576.     if ((a_754X < (Soldspace_beginS))) {
  6577.       arg1K0 = next_760X;
  6578.       goto L13896;}
  6579.     else {
  6580.       if ((a_754X < (Soldspace_endS))) {
  6581.         h_755X = *((long *) (-7 + thing_761X));
  6582.         if ((3 == (3 & h_755X))) {
  6583.           arg1K0 = h_755X;
  6584.           goto L31642;}
  6585.         else {
  6586.           if ((1070 == h_755X)) {
  6587.             descriptor_753X = *((long *) (-3 + thing_761X));
  6588.             if ((3 == (3 & descriptor_753X))) {
  6589.               a_756X = -3 + descriptor_753X;
  6590.               if ((a_756X < (Soldspace_beginS))) {
  6591.                 goto L31679;}
  6592.               else {
  6593.                 if ((a_756X < (Soldspace_endS))) {
  6594.                   ShpS = RShpS;
  6595.                   v_752X = copy_weak_pointer(thing_761X);
  6596.                   RShpS = ShpS;
  6597.                   arg1K0 = v_752X;
  6598.                   goto L31642;}
  6599.                 else {
  6600.                   goto L31679;}}}
  6601.             else {
  6602.               goto L31679;}}
  6603.           else {
  6604.             goto L31679;}}}
  6605.       else {
  6606.         arg1K0 = next_760X;
  6607.         goto L13896;}}}
  6608.   else {
  6609.     arg1K0 = next_760X;
  6610.     goto L13896;}}
  6611.  L13856: {
  6612.   if ((-1 == (Sweak_pointer_hpS))) {
  6613.     ShpS = RShpS;
  6614.     return;}
  6615.   else {
  6616.     x1_758X = Sweak_pointer_limitS;
  6617.     end_757X = Sweak_pointer_hpS;
  6618.     arg1K0 = (-1024 + x1_758X);
  6619.     arg1K1 = end_757X;
  6620.     goto L11112;}}
  6621.  L13896: {
  6622.   addr_759X = arg1K0;
  6623.   if ((addr_759X < end_763X)) {
  6624.     next_760X = 4 + addr_759X;
  6625.     thing_761X = *((long *) addr_759X);
  6626.     if ((2 == (3 & thing_761X))) {
  6627.       if (((31 & (((thing_761X)>>2))) < 15)) {
  6628.         goto L31634;}
  6629.       else {
  6630.         arg1K0 = (next_760X + (-4 & (3 + ((long)(((unsigned long)thing_761X)>>8)))));
  6631.         goto L13896;}}
  6632.     else {
  6633.       goto L31634;}}
  6634.   else {
  6635.     if (((RShpS) < (SlimitS))) {
  6636.       if ((end_763X < (RShpS))) {
  6637.         arg1K0 = end_763X;
  6638.         goto L13830;}
  6639.       else {
  6640.         goto L13856;}}
  6641.     else {
  6642.       TTerror("GC error: ran out of space in new heap", 0, 0, 0, 0);
  6643.       goto L13856;}}}
  6644.  L13830: {
  6645.   start_762X = arg1K0;
  6646.   end_763X = RShpS;
  6647.   arg1K0 = start_762X;
  6648.   goto L13896;}}
  6649.  
  6650. long read_image(unsigned char *filename_764X, long startup_space_765X)
  6651. {
  6652.   extern long read_number(FILE *);
  6653.   extern long Snewspace_endS;
  6654.   extern FILE * Scurrent_output_portS;
  6655.   extern long ShpS;
  6656.   long arg1K0;
  6657.   unsigned char arg3K0;
  6658.   FILE * port_766X;
  6659.   unsigned char reverseP_767X;
  6660.   long v_768X;
  6661.   long ptr_769X;
  6662.   long value_770X;
  6663.   unsigned char x_771X;
  6664.   unsigned char x_772X;
  6665.   long d_773X;
  6666.   long v_774X;
  6667.   long ptr_775X;
  6668.   long descriptor_776X;
  6669.   long result_777X;
  6670.   long old_level_778X;
  6671.   long old_bytes_per_cell_779X;
  6672.   long cells_780X;
  6673.   long old_begin_781X;
  6674.   long cells_782X;
  6675.   long old_hp_783X;
  6676.   long startup_proc_784X;
  6677.   unsigned char Kchar_785X;
  6678.   unsigned char Kchar_786X;
  6679.   long addr_787X;
  6680.   unsigned char x_788X;
  6681.   unsigned char x_789X;
  6682.   long start_790X;
  6683.   long new_limit_791X;
  6684.   long new_hp_792X;
  6685.   long delta_793X;
  6686.  
  6687.  {port_766X = ps_open(filename_764X, "r");
  6688.   if ((NULL == port_766X)) {
  6689.     TTerror("Can't open heap image file", 0, 0, 0, 0);
  6690.     goto L10206;}
  6691.   else {
  6692.     goto L10206;}}
  6693.  L10266: {
  6694.   reverseP_767X = arg3K0;
  6695.   fread((void *)(ShpS), sizeof(char), (old_hp_783X - old_begin_781X), port_766X);
  6696.   if (reverseP_767X) {
  6697.     fputs("Correcting byte order of resumed image.", (Scurrent_output_portS));
  6698.     putc(10, (Scurrent_output_portS));
  6699.     arg1K0 = start_790X;
  6700.     goto L8611;}
  6701.   else {
  6702.     goto L10276;}}
  6703.  L8637: {
  6704.   v_768X = arg1K0;
  6705.   arg1K0 = v_768X;
  6706.   goto L8611;}
  6707.  L8611: {
  6708.   ptr_769X = arg1K0;
  6709.   x_772X = *((unsigned char *) ptr_769X);
  6710.   *((unsigned char *) ptr_769X) = ((unsigned char)((long)(*((unsigned char *) (3 + ptr_769X)))));
  6711.   *((unsigned char *) (3 + ptr_769X)) = ((unsigned char)((long)x_772X));
  6712.   x_771X = *((unsigned char *) (1 + ptr_769X));
  6713.   *((unsigned char *) (1 + ptr_769X)) = ((unsigned char)((long)(*((unsigned char *) (2 + ptr_769X)))));
  6714.   *((unsigned char *) (2 + ptr_769X)) = ((unsigned char)((long)x_771X));
  6715.   value_770X = *((long *) ptr_769X);
  6716.   if ((ptr_769X < new_hp_792X)) {
  6717.     if ((2 == (3 & value_770X))) {
  6718.       if (((31 & (((value_770X)>>2))) < 15)) {
  6719.         arg1K0 = (4 + ptr_769X);
  6720.         goto L8637;}
  6721.       else {
  6722.         arg1K0 = ((4 + ptr_769X) + (-4 & (3 + ((long)(((unsigned long)value_770X)>>8)))));
  6723.         goto L8637;}}
  6724.     else {
  6725.       arg1K0 = (4 + ptr_769X);
  6726.       goto L8637;}}
  6727.   else {
  6728.     goto L10276;}}
  6729.  L8736: {
  6730.   d_773X = arg1K0;
  6731.   *((long *) ptr_775X) = d_773X;
  6732.   if ((2 == (3 & d_773X))) {
  6733.     if (((31 & (((d_773X)>>2))) < 15)) {
  6734.       arg1K0 = (4 + ptr_775X);
  6735.       goto L8754;}
  6736.     else {
  6737.       arg1K0 = ((4 + ptr_775X) + (-4 & (3 + ((long)(((unsigned long)d_773X)>>8)))));
  6738.       goto L8754;}}
  6739.   else {
  6740.     arg1K0 = (4 + ptr_775X);
  6741.     goto L8754;}}
  6742.  L8754: {
  6743.   v_774X = arg1K0;
  6744.   arg1K0 = v_774X;
  6745.   goto L8726;}
  6746.  L8726: {
  6747.   ptr_775X = arg1K0;
  6748.   if ((ptr_775X < new_hp_792X)) {
  6749.     descriptor_776X = *((long *) ptr_775X);
  6750.     if ((3 == (3 & descriptor_776X))) {
  6751.       arg1K0 = (3 + ((-3 + descriptor_776X) + delta_793X));
  6752.       goto L8736;}
  6753.     else {
  6754.       arg1K0 = descriptor_776X;
  6755.       goto L8736;}}
  6756.   else {
  6757.     goto L10286;}}
  6758.  L10456: {
  6759.   result_777X = arg1K0;
  6760.   fclose(port_766X);
  6761.   return(result_777X);}
  6762.  L10208: {
  6763.   old_level_778X = read_number(port_766X);
  6764.   old_bytes_per_cell_779X = read_number(port_766X);
  6765.   cells_780X = read_number(port_766X);
  6766.   old_begin_781X = ((cells_780X)<<2);
  6767.   cells_782X = read_number(port_766X);
  6768.   old_hp_783X = ((cells_782X)<<2);
  6769.   startup_proc_784X = read_number(port_766X);
  6770.   goto L10407;}
  6771.  L10432: {
  6772.   { int TTchar;
  6773.     PS_GETC(port_766X, TTchar);
  6774.     if (EOF == TTchar) {
  6775.       TTerror("end of file while looking for page break", 0, 0, 0, 0);
  6776.       goto L10208;}
  6777.     else {
  6778.       unsigned char Kchar_785X = TTchar;
  6779.       if ((12 == ((long)Kchar_785X))) {
  6780.         goto L10208;}
  6781.       else {
  6782.         goto L10432;}}}}
  6783.  L10229: {
  6784.   if ((15 == old_level_778X)) {
  6785.     goto L10239;}
  6786.   else {
  6787.     TTerror("format of image is incompatible with this version of system", 2, old_level_778X, 15, 0);
  6788.     goto L10239;}}
  6789.  L10407: {
  6790.   { int TTchar;
  6791.     PS_GETC(port_766X, TTchar);
  6792.     if (EOF == TTchar) {
  6793.       TTerror("end of file while looking for page break", 0, 0, 0, 0);
  6794.       goto L10229;}
  6795.     else {
  6796.       unsigned char Kchar_786X = TTchar;
  6797.       if ((12 == ((long)Kchar_786X))) {
  6798.         goto L10229;}
  6799.       else {
  6800.         goto L10407;}}}}
  6801.  L10286: {
  6802.   ShpS = new_hp_792X;
  6803.   if ((3 == (3 & startup_proc_784X))) {
  6804.     arg1K0 = (3 + ((-3 + startup_proc_784X) + delta_793X));
  6805.     goto L10456;}
  6806.   else {
  6807.     arg1K0 = startup_proc_784X;
  6808.     goto L10456;}}
  6809.  L10276: {
  6810.   if ((0 == delta_793X)) {
  6811.     goto L10286;}
  6812.   else {
  6813.     arg1K0 = start_790X;
  6814.     goto L8726;}}
  6815.  L10263: {
  6816.   fread((void *)(ShpS), sizeof(char), 4, port_766X);
  6817.   if ((1 == (*((long *) (ShpS))))) {
  6818.     arg3K0 = 0;
  6819.     goto L10266;}
  6820.   else {
  6821.     addr_787X = ShpS;
  6822.     x_788X = *((unsigned char *) addr_787X);
  6823.     *((unsigned char *) addr_787X) = ((unsigned char)((long)(*((unsigned char *) (3 + addr_787X)))));
  6824.     *((unsigned char *) (3 + addr_787X)) = ((unsigned char)((long)x_788X));
  6825.     x_789X = *((unsigned char *) (1 + addr_787X));
  6826.     *((unsigned char *) (1 + addr_787X)) = ((unsigned char)((long)(*((unsigned char *) (2 + addr_787X)))));
  6827.     *((unsigned char *) (2 + addr_787X)) = ((unsigned char)((long)x_789X));
  6828.     if ((1 == (*((long *) (ShpS))))) {
  6829.       arg3K0 = 1;
  6830.       goto L10266;}
  6831.     else {
  6832.       TTerror("unable to correct byte order", 1, (*((long *) (ShpS))), 0, 0);
  6833.       arg3K0 = 0;
  6834.       goto L10266;}}}
  6835.  L10249: {
  6836.   delta_793X = (ShpS) - old_begin_781X;
  6837.   new_hp_792X = old_hp_783X + delta_793X;
  6838.   new_limit_791X = Snewspace_endS;
  6839.   start_790X = ShpS;
  6840.   if (((startup_space_765X + new_hp_792X) < new_limit_791X)) {
  6841.     goto L10263;}
  6842.   else {
  6843.     TTerror("heap not big enough to restore this image", 2, new_hp_792X, new_limit_791X, 0);
  6844.     goto L10263;}}
  6845.  L10239: {
  6846.   if ((4 == old_bytes_per_cell_779X)) {
  6847.     goto L10249;}
  6848.   else {
  6849.     TTerror("incompatible bytes-per-cell", 2, old_bytes_per_cell_779X, 4, 0);
  6850.     goto L10249;}}
  6851.  L10206: {
  6852.   goto L10432;}}
  6853.  
  6854. long check_image_header(unsigned char *filename_794X)
  6855. {
  6856.   extern long read_number(FILE *);
  6857.   extern FILE * Scurrent_output_portS;
  6858.   long arg1K0;
  6859.   FILE * port_795X;
  6860.   FILE * out_796X;
  6861.   long result_797X;
  6862.   FILE * out_798X;
  6863.   long old_level_799X;
  6864.   long old_bytes_per_cell_800X;
  6865.   long cells_801X;
  6866.   long cells_802X;
  6867.   FILE * out_803X;
  6868.   unsigned char Kchar_804X;
  6869.  
  6870.  {port_795X = ps_open(filename_794X, "r");
  6871.   if ((NULL == port_795X)) {
  6872.     out_796X = Scurrent_output_portS;
  6873.     fputs("Can't open heap image file", out_796X);
  6874.     putc(10, out_796X);
  6875.     arg1K0 = -1;
  6876.     goto L6547;}
  6877.   else {
  6878.     goto L6503;}}
  6879.  L6547: {
  6880.   result_797X = arg1K0;
  6881.   fclose(port_795X);
  6882.   return(result_797X);}
  6883.  L6409: {
  6884.   old_level_799X = read_number(port_795X);
  6885.   old_bytes_per_cell_800X = read_number(port_795X);
  6886.   cells_801X = read_number(port_795X);
  6887.   cells_802X = read_number(port_795X);
  6888.   if ((15 == old_level_799X)) {
  6889.     if ((4 == old_bytes_per_cell_800X)) {
  6890.       arg1K0 = ((((cells_802X)<<2)) - (((cells_801X)<<2)));
  6891.       goto L6547;}
  6892.     else {
  6893.       out_798X = Scurrent_output_portS;
  6894.       fputs("incompatible bytes-per-cell in image", out_798X);
  6895.       putc(10, out_798X);
  6896.       arg1K0 = -1;
  6897.       goto L6547;}}
  6898.   else {
  6899.     out_803X = Scurrent_output_portS;
  6900.     fputs("format of image is incompatible with this version of system", out_803X);
  6901.     putc(10, out_803X);
  6902.     arg1K0 = -1;
  6903.     goto L6547;}}
  6904.  L6503: {
  6905.   { int TTchar;
  6906.     PS_GETC(port_795X, TTchar);
  6907.     if (EOF == TTchar) {
  6908.       TTerror("end of file while looking for page break", 0, 0, 0, 0);
  6909.       goto L6409;}
  6910.     else {
  6911.       unsigned char Kchar_804X = TTchar;
  6912.       if ((12 == ((long)Kchar_804X))) {
  6913.         goto L6409;}
  6914.       else {
  6915.         goto L6503;}}}}}
  6916.  
  6917. void register_static_areas(unsigned char pure_count_805X, long *pure_areas_806X, long *pure_sizes_807X, unsigned char impure_count_808X, long *impure_areas_809X, long *impure_sizes_810X)
  6918. {
  6919.   extern unsigned char Spure_area_countS;
  6920.   extern long *Spure_areasS;
  6921.   extern long *Spure_sizesS;
  6922.   extern unsigned char Simpure_area_countS;
  6923.   extern long *Simpure_areasS;
  6924.   extern long *Simpure_sizesS;
  6925.  
  6926.  {Spure_area_countS = pure_count_805X;
  6927.   Spure_areasS = pure_areas_806X;
  6928.   Spure_sizesS = pure_sizes_807X;
  6929.   Simpure_area_countS = impure_count_808X;
  6930.   Simpure_areasS = impure_areas_809X;
  6931.   Simpure_sizesS = impure_sizes_810X;
  6932.   return;}}
  6933. scheme48_init()
  6934. {
  6935. Sminimum_recovered_spaceS = 0;
  6936. Sexception_space_usedPS = 1;
  6937. Snumber_of_portsS = 100;
  6938. Sweak_pointer_limitS = 0;
  6939. Sweak_pointer_hpS = -1;
  6940. Ssaved_limitS = 0;
  6941. Ssaved_hpS = 0;
  6942. Sgc_countS = 0;
  6943. Simpure_area_countS = 0;
  6944. Spure_area_countS = 0;
  6945. SlimitS = 0;
  6946. ShpS = 0;
  6947. Scurrent_output_portS = stdout;
  6948. Scurrent_input_portS = stdin;
  6949. }
  6950.